java基本类型的默认值
java基本类型的默认值是什么?
package test;
public class Test {
public static void main(String[] args) {
double a = 1;
int b = 1;
System.out.println(a);
System.out.print(b);
}
}
如果a、b不赋值为1程序会报错,为什么啊,请指点一下。
------解决方案--------------------局部变量未初始化
------解决方案--------------------如果是全局变量,不初始化系统会给一个默认值,但是局部变量用的时候必须要初始化。
------解决方案--------------------short int long 和 byte 默认值 0
float double 默认值 0.0
字符型 默认值 null
布尔 默认值 false
在静态方法里 声明变量必须初始化
------解决方案--------------------i know !!!
the fundamental of java is very important!!!
------解决方案--------------------boolean false
char
byte 0
short 0
int 0
long 0
float 0.0
double 0.0
Object null
------解决方案--------------------养成好习惯,最好都初始化
------解决方案--------------------全局变量不初始化没事 系统会自动给一个默认值(参看godfather521()的回帖) 但是在使用之前(如你给的程序中的 System.out.println(a);) 一定要初始化
------解决方案--------------------还有,类的成员变量,如果构造函数没有将它显式初始化,在对象被创建时,也是会被默认初始化的。
但函数里的局部变量就不是这样了。
------解决方案--------------------学习
------解决方案--------------------类的成员变量,对象被创建时,会被默认初始化的
其他不可以
------解决方案--------------------当然会报错了,局部变量一定要初始化的!类中的成员变量就不用,因为声明类时,类的构造函数会初始化类中的成员变量(对于基本变量: byte,short,int,long初始化为0;boolean初始化为false;float,double初始化为0.0;char初始化为/u0000;而对于引用类型则初始化为null).