基本数据类型

当类的某个成员是基本数据类型时,即使没有进行初始化,java也会确保它获得一个默认值,如下表所示:

序号 数据类型 大小/位 封装类 默认值 可表示数据范围
1 boolean 8 Boolean false true或false
2 char(字符) 16 Character 0~65535
3 byte(位) 8 Byte (byte)0 -128~127
4 short(短整数) 16 Short (short)0 -32768~32767
5 int(整数) 32 Integer 0 -2147483648~2147483647
6 long(长整数) 64 Long 0L -9223372036854775808~9223372036854775807
7 float(单精度) 32 Float 0.0f 1.4E-45~3.4028235E38
8 double(双精度) 64 Double 0.0d 4.9E-324~1.7976931348623157E308

验证代码如下:

public class BasicDataType {

    static boolean memberBoolean;
    static char memberChar;
    static byte memberByte;
    static short memberShort;
    static int memberInt;
    static long memberLong;
    static float memberFloat;
    static double memberDouble;

    public static void main(String[] args) {
        System.out.println("memberBoolean:" + memberBoolean);
        System.out.println("memberChar:" + memberChar);
        System.out.println("memberByte:" + memberByte);
        System.out.println("memberShort:" + memberShort);
        System.out.println("memberInt:" + memberInt);
        System.out.println("memberLong:" + memberLong);
        System.out.println("memberFloat:" + memberFloat);
        System.out.println("memberDouble:" + memberDouble);
    }
}

BasicDataType类中定义了8种基本数据类型的变量,并未对其初始化
输出结果如下:

memberBoolean:false
memberChar: 
memberByte:0
memberShort:0
memberInt:0
memberLong:0
memberFloat:0.0
memberDouble:0.0

当变量作为类的成员使用时,java才会给出默认值,以确保那些是基础数据类型的变量得到初始化,防止程序出错,但是默认值对我们程序来说可能是不正确的,所以最好还是明确的对变量进行初始化
上述确保初始化的方法并不适用于“局部变量”,java会在编译时返回一个错误,如下图所示:


基本数据类型_第1张图片
变量“local”可能尚未初始化

你可能感兴趣的:(基本数据类型)