0x01 Java数据类型
Java支持的数据类型分为两种:基本数据类型和引用数据类型
(1)基本数据类型:包含四个整数类型,两个浮点数,字符,布尔
(2)引用数据类型:包含类,接口,数组
1.1 取值范围
| 类型名称 | 关键字 | 占用字节 | 取值范围 |
|---|---|---|---|
| 字节型 | byte | 1字节 | -128~127 |
| 短整型 | short | 2字节 | -32768~32767 |
| 整型 | int | 4字节 | -2147483648~2147483647 |
| 长整型 | long | 8字节 | -9223372036854775828L~9223372036854772807L |
| 单精度浮点数 | float | 4字节 | +/-3.4E+38F(6~7个有效位) |
| 双精度浮点数 | double | 8字节 | +/-1.8E+308(15个有效位) |
| 字符型 | char | 2字节 | ISO单一字符集 |
| 布尔型 | boolean | 1字节 | true或flase |
注意:char代表字符型,实际字符型也是整数类型,相当于无符号整数
通过对象类查看数据类型的取值范围
代码演示
public class MaxMin{
public static void main(String[] args){
// 通过对象类查看数据类型的取值范围
System.out.println("byte类型的最小值:"+Byte.MIN_VALUE);
System.out.println("byte类型的最大值:"+Byte.MAX_VALUE);
System.out.println("short类型的最小值:"+Short.MIN_VALUE);
System.out.println("short类型的最大值:"+Short.MAX_VALUE);
System.out.println("int类型的最小值:"+Integer.MIN_VALUE);
System.out.println("int类型的最大值:"+Integer.MAX_VALUE);
System.out.println("long类型的最小值:"+Long.MIN_VALUE);
System.out.println("long类型的最大值:"+Long.MAX_VALUE);
System.out.println("float类型的最小值:"+Float.MIN_VALUE);
System.out.println("float类型的最大值:"+Float.MAX_VALUE);
System.out.println("double类型的最小值:"+Double.MIN_VALUE);
System.out.println("double类型的最大值:"+Double.MAX_VALUE);
System.out.println("char类型的最小值:"+Character.MIN_VALUE);
System.out.println("char类型的最大值:"+Character.MAX_VALUE);
System.out.println("boolean类型的值为true和false");
}
}
1.2 数据类型的默认值
| 数据类型 | 默认值 |
|---|---|
| byte | 0 |
| short | 0 |
| int | 0 |
| long | 0L |
| float | 0.0f |
| double | 0.0d |
| char | 'u0000' |
| String(or any object) | null |
| boolean | false |
全局变量是由默认值的,而局部变量没有默认值,所以使用前一定要进行初始化
代码演示
public class DataTypeDefault{
static byte b;
static short s;
static int i;
static long l;
static float f;
static double d;
static char c;
static boolean bool;
// 通过static可知main方法是静态的,属于类的,所以访问成员变量必须是静态的
public static void main(String[] args){
System.out.println("byte的默认值是"+b); // 0
System.out.println("short的默认值是"+s); // 0
System.out.println("int的默认值是"+i); // 0
System.out.println("long的默认值是"+l); // 0
System.out.println("float的默认值是"+f); // 0.0
System.out.println("double的默认值是"+d); // 0.0
System.out.println("char的默认值是"+c); // 不可见字符
System.out.println("boolean的默认值是"+bool); // false
}
}
注意:
static关键字
修饰方法:表示方法是静态的,表示只有一份,属于类
修饰变量:表示变量是静态的,表示只有一份,属于类
静态方法访问的成员变量只能是静态的