Java 基本类型默认值问题

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

    }

运行结果

猜你喜欢

转载自blog.csdn.net/weixin_42808551/article/details/81231983