1. 基本数据类型(8种)
2. 基本数据类型内存分配
- 内存空间含
0
,所以正数位需要- 1
。(这也能够解释为啥 Java 要从 0 开始计算,比如:数组下标)
基本数据类类型 | 明细 | 内存空间(8位 = 1字节) | 取值范围(-2^位 ~ 2^位 - 1 ) |
---|---|---|---|
数值型 | byte | 8位(1字节) | -128 ~ 127 |
short | 16位(2字节) | -2^15 ~ 2^15 - 1 | |
int | 32位(4字节) | ...以下同... | |
long | 64位(8字节) | ||
字符型 | char | 16位(2字节) | |
布尔型 | boolean | 1或4字节,取决于 JVM |
3. 源码实例
package demo01;
public class DataType {
public static void main(String[] args) {
byte myByte = 127;
short myShort = 23767;
int myInt = 214748;
long myLong = myByte + myShort + myInt; // 此处有个陷阱哦 { 整数相加,默认为 int 类型 }
long myLongError = myByte + myShort + Integer.MAX_VALUE;
float myFloat = 12345f; // 后缀带 f 或者 F
double myDouble = 12345678d; // 后缀带 d 或者 D,也可啥都不带(默认就是 double 类型)
char myChar = 'a';
//String myString = "a"; // 字符串
boolean myBoolean = true;
System.out.println("长整型:" + myLong);
System.out.println("int 类型陷阱: " + myLongError);
System.out.println("单精度浮点型:" + myFloat);
System.out.println("双精度浮点型:" + myDouble);
System.out.println("字符型:" + myChar);
System.out.println("布尔型:" + myBoolean);
}
}
Run:
长整型:238642
int 类型陷阱: -2147459755
单精度浮点型:12345.0
双精度浮点型:1.2345678E7
字符型:a
布尔型:true