1.基本数据类型
分类 | 类型 | 字节数 | 默认值 | 最小值 | 最大值 |
整形(精确)
| byte | 1 | 0 | -128(-2^7) | 127(2^7-1) |
short | 2 | 0 | -32768(-2^15) | 32767(2^15 - 1) | |
int | 4 | 0 | -2^31 | 2^31 - 1 | |
long | 8 | 0L | -2^63 | 2^63 -1 | |
浮点型(不精确) | float | 4 | 0.0f | 1.4E-45 | 3.4028235E38 |
double | 8 | 0.0d | 4.9E-324 | 1.7976931348623157E308 | |
字符型 | boolean | 2 | false | 表示一个字符 | |
布尔型 | char | 1 | '\u0000' | 只有true和false |
只有成员变量才有默认值,对于局部变量,不会有默认值。 \u0000代表的是null,一个控制字符,表示没有值,不可见,输出到控制台是空,但不是真正的空格
public class PrimitiveTest {
static int i;
static char ch;
static boolean bool;
static byte by;
static double d;
static float f;
static long l;
static short sh;
static String str;
public static void main(String[] args) {
System.out.println("int = " + i);
System.out.println("char = " + ch);
System.out.println("Bool = " + bool);
System.out.println("Byte = " + by);
System.out.println("Double = " + d);
System.out.println("Float = " + f);
System.out.println("Integer = " + i);
System.out.println("Long = " + l);
System.out.println("Short = " + sh);
System.out.println("String = " + str);
System.out.println('\u0000' ==ch);
}
}
输出结果:
2.引用数据类型
引用类型指向一个对象,对象、数组都是引用数据类型。所有引用类型的默认值都是null。
3.常量
在程序执行的过程中,其值不可以发生改变的量,在 Java 中使用 final 关键字来修饰常量。