1.基本数据类型
基本数据类型存放在内存 “栈” 中,可快速访问。主要包括以下四类:
- 整数类型:byte、short、int、long
- 浮点类型:float、double
- 字符类型:char
- 布尔类型:boolean
类型名称 | 关键字 | 大小 | 取值范围 |
字节型 | byte | 8位 | -27~27-1 |
短整型 | short | 16位 | -215~215-1 |
整型 | int | 32位 | -231~231-1 |
长整型 | long | 64位 | -263~263-1 |
浮点型 | float | 32位 | 3.4e-38~3.4e+38 |
双精度 | double | 64位 | 1.7e-38~1.7e+38 |
字符型 | char | 16位 | 'u000'~'uFFFF' |
布尔型 | boolean | 1位 | true/false |
其中,整数类型有进制之分:
二进制整数:以 “0b” 或 “0B” 开头。
八进制整数:以 “0” 开头。
十进制整数:在程序编写中无特殊指明,默认为十进制。
十六进制整数:以 “0x” 或 “0X” 开头。
代码示例:
package test;
public class Test {
public static void main(String[] args) {
//二进制数
int a = 0b1001;
//八进制数
int b = 071;
//十进制数
int c = 19;
//十六进制数
int d = 0xFE;
//输出
System.out.println("二进制数 0b1001 的值为: " + a);
System.out.println("八进制数 071 的值为: " + b);
System.out.println("十进制数 19 的值为: " + c);
System.out.println("十六进制数 0xFE 的值为: " + d);
}
}
输出结果:
2.引用数据类型
引用类型变量存放在内存“栈”中,值为存放在内存“堆”中的数据的地址。主要包括以下五种:
- 类
- 接口
- 数组
- 枚举
- 空
由于要在运行时动态分配内存,所以存取速度相对较慢。
3.二者区别