名称 | 占位 | 范围 | 封装 | 默认 |
---|---|---|---|---|
byte | 8 | -128 ~ 127 | Byte | 0 |
short | 16 | -32768 ~ 32767 | Short | 0 |
int | 32 | -2^31 ~ (2^31 - 1) | Integer | 0 |
long | 64 | -2^63 ~ (2^63 -1) | Long | 0L |
float | 32 | 3.4e-45~1.4e38 | Float | 0.0f |
double | 64 | 4.9e-324~1.8e308 | Double | 0.0d |
char | 16 | 存储Unicode码,用单引号赋值 | Character | |
bool | 1 | true或false | Boolean | false |
- byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一
- long类型主要使用在需要比较大整数的系统上,"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩,建议大写
- float 不能用来表示精确的值,使用时加上"f"
- double类型同样不能表示精确的值,"D"或"d"可以省略不写
- char 数据类型可以储存任何字符
- bool 只能取true或false
- 表示精确值建议使用BigDecimal
public class BasicType {
static byte b;
static short s;
static int i;
static long l;
static float f;
static double d;
static char c;
static boolean bo;
public static void main(String[] args) {
System.out.println("byte的大小:" + Byte.SIZE + ";默认值:" + b
+ ";数据范围:" + Byte.MIN_VALUE + " - " + Byte.MAX_VALUE);
System.out.println("short的大小:" + Short.SIZE + ";默认值:" + s
+ ";数据范围:" + Short.MIN_VALUE + " - " + Short.MAX_VALUE);
System.out.println("int的大小:" + Integer.SIZE + ";默认值:" + i
+ ";数据范围:" + Integer.MIN_VALUE + " - " + Integer.MAX_VALUE);
System.out.println("long的大小:" + Long.SIZE + ";默认值:" + l
+ ";数据范围:" + Long.MIN_VALUE + " - " + Long.MAX_VALUE);
System.out.println("float的大小:" + Float.SIZE + ";默认值:" + f
+ ";数据范围:" + Float.MIN_VALUE + " - " + Float.MAX_VALUE);
System.out.println("double的大小:" + Double.SIZE + ";默认值:" + d
+ ";数据范围:" + Double.MIN_VALUE + " - " + Double.MAX_VALUE);
System.out.println("char的大小:" + Character.SIZE + ";默认值:" + c
+ ";数据范围:" + Character.MIN_VALUE + " - " + Character.MAX_VALUE);
System.out.println("boolean的大小:" + Byte.SIZE + ";默认值:" + bo
+ ";数据范围:" + Byte.MIN_VALUE + " - " + Byte.MAX_VALUE);
}
}
输出结果: