日期:2014-05-20  浏览次数:20694 次

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).