Java 基本类型默认值问题
如有理解错误的地方,希望大家能够指正。
与C++不同的是,在Java里面,如果一个变量是作为类的成员使用的话,那么Java将给定其一个默认值,具体值如下表:
基本类型 | 默认值 |
---|---|
boolean | false |
char | ‘\u0000’(null) |
byte | (byte)0 |
short | (short)0 |
int | 0 |
long | oL |
float | 0.0f |
double | 0.0d |
值得特别注意的是,当一个基本类型的变量作为一个类的成员使用时,才会被赋默认值,当一个基本类型的变量是作为**“局部”变量时,将与C和C++一样,得到一个任意值**。
但是,在Java里面,如果你忘记了给变量赋初值,那么编译器将会直接报错,而不是和许多C++编译器一样,仅仅只是给与警告。
测试代码
public class test1 {
boolean a;
char b;
byte c;
short d;
int e;
long f;
float g;
double h;
public static void main(String[] args) {
test1 t1 = new test1();
System.out.println("a:"+t1.a);
System.out.println("b:"+t1.b);
System.out.println("c:"+t1.c);
System.out.println("d:"+t1.d);
System.out.println("e:"+t1.e);
System.out.println("f:"+t1.f);
System.out.println("g:"+t1.g);
System.out.println("h:"+t1.h);
}
###运行结果