Java 基本类型默认值问题
最近正在以 Java编程思想(第四版)为主要参考书籍学习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);
}