问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中怎么给变量初始化?

发布网友 发布时间:2022-04-25 23:43

我来回答

5个回答

热心网友 时间:2023-10-18 11:36

不同的变量初始化方法不同。

变量包括:

类的属性,或者叫值域

方法里的局部变量

方法的参数

对于第一种变量,Java虚拟机会自动进行初始化。如果给出了初始值,则初始化为该初始值。如果没有给出,则把它初始化为该类型变量的默认初始值。


int类型变量默认初始值为0


float类型变量默认初始值为0.0f


double类型变量默认初始值为0.0


boolean类型变量默认初始值为false


char类型变量默认初始值为0(ASCII码)


long类型变量默认初始值为0


所有对象引用类型变量默认初始值为null,即不指向任何对象。注意数组本身也是对象,所以没有初始化的数组引用在自动初始化后其值也是null。

对于两种不同的类属性,static属性与instance属性,初始化的时机是不同的。instance属性在创建实例的时候初始化,static属性
在类加载,也就是第一次用到这个类的时候初始化,对于后来的实例的创建,不再次进行初始化。这个问题会在以后的系列中进行详细讨论。


对于第二种变量,必须明确地进行初始化。如果再没有初始化之前就试图使用它,编译器会*。如果初始化的语句在try块中或if块中,也必须要让它在第一
次使用前一定能够得到赋值。也就是说,把初始化语句放在只有if块的条件判断语句中编译器也会*,因为执行的时候可能不符合if后面的判断条件,如此一
来初始化语句就不会被执行了,这就违反了局部变量使用前必须初始化的规定。但如果在else块中也有初始化语句,就可以通过编译,因为无论如何,总有至少
一条初始化语句会被执行,不会发生使用前未被初始化的事情。对于try-catch也是一样,如果只有在try块里才有初始化语句,编译部通过。如果在
catch或finally里也有,则可以通过编译。总之,要保证局部变量在使用之前一定被初始化了。所以,一个好的做法是在声明他们的时候就初始化他
们,如果不知道要出事化成什么值好,就用上面的默认值吧!

其实第三种变量和第二种本质上是一样的,都是方法中的局部变量。只不过作为参数,肯定是被初始化过的,传入的值就是初始值,所以不需要初始化。

热心网友 时间:2023-10-18 11:36

算初始化啊,只要赋值了都是初始化而不管赋的是什么值,一般成员变量可以不用初始化,因为程序会自动初始化一个值,整数的就是0,对象就是null等等。但是函数中的局部变量一定要初始化,不然编译就会报错的

热心网友 时间:2023-10-18 11:37

null的话还是会报空指针异常的,我个人一般是String s = "";来初始化,这样就不会报空指针,之后直接复制就可以了

热心网友 时间:2023-10-18 11:37

java这门编程语言,对于对象成员,就算你不给它赋值,编译器也会给它赋默认值。基本类型变量默认赋值int,long,short 都是0,float,double都是0.0,boolean类型是false。对于引用类型的便利默认值都是null。而对于局部变量,无论是基本类型还是引用类型,都要给它初始值,否则不能使用。

热心网友 时间:2023-10-18 11:38

这算初始化了,你给String赋了值,值为null;初始化就是为变量赋初值;你这个是局部变量,所以必须初始化,但是如果是成员变量,就不用初始化,编译的时候会默认初始化,string的就是null,int就是0;成员变量就是属于类的属性,放在方法的外面,类的里面。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
瑞安皇都大厦几个电梯 办签证和护照的具体步骤和一共的费用!我需要详细一点的答案. 办护照流程 办护照的流程是什么 哪位推荐几部韩剧啊!!要像豪杰春香,魔女幼熙这样的,剧情要感人,最好是... 小阴唇内应该是光滑的吗,阴道口痒为什么 阴道口有像草莓样正常吗 任氏族谱字辈:世秉忠贞 永达明玉起 国正天元律迎祖大继昌 河南夏氏家谱辈分我是永城市酂城镇夏氏夏世界具家谱记载洪武二年始祖良... 夏侯姓字辈排行 夏氏辈行,我爷爷明字辈,我父亲应字辈,我是崇字辈,后面是什么辈? int型的默认值是什么? java小问题:int型的默认值是? c++ int类型默认值是多少? XO代表什么意思? 毕业生就业协议书是什么?如何签? 如何查询毕业生就业协议书编号 兴业信用卡帐单日是8号还款日是几号? 《毕业生就业协议书》可否邮寄 应届毕业生的就业协议书编号可以在网上查询吗,怎么查,急! 应届生—>就业协议书 我的兴业信用卡账单日是16号,还款日是多久?谢谢 兴业银行信用卡账单日后几天还款吗 我的毕业生就业协议书在哪里 兴业银行信用卡还款日后多少天还款 毕业生就业协议书的格式是什么? 全国普通高等学校毕业生就业协议书是手写还是打印 QQ申诉多次失败啊!怎么办?大家帮我怎样才能成功? QQ账号申诉一直不成功还有什么办法? 入党申请书大学生模板格式 请问qq帐号多次申诉失败怎么办? Java 变量到底要如何初始化 JAVA中int类型默认值是多少? c语言问题——未初始化int变量的初值 java中,在实例化一个类时,这个类中没有初始值的int类型成员变量i,i的值是不是0? 给某整型变量初始化,int i和int i = 0有什么区别???(c++中) 怎样将int类型赋值为空 C语言中fgets()函数怎么初始化int类型的变量 类成员变量初始赋值有什么意义么? int是不是只有在全局变量时才自动初始化为0?其它内置变量类型呢? java中未给int变量赋初值不是默认为0吗?为什么不能输出0,提示未初始化变量 定义一个int类型的变量并初始化,如果成绩大于等于80,,输出成绩优秀 Activity的final int类型的成员变量应该怎么初始化??? 为什么只要公司一上市总会挣钱呢? 电脑怎么截屏excel的图片 java中的int变量刚定义就一定要赋值吗? 上市,就相当于是在圈钱吗? 谁知道太仓的经济适用房怎么申请 上市公司与非上市公司有哪些区别?为什么有人说上市是为了圈钱? excel怎么截屏图片 为什么很多创业板公司上市的目的明显就是圈钱套现,却没有有效的惩处办法?