- 1 byte类型
- 1.1 定义
- 1.2 存储
- 2 short类型
- 2.1 定义
- 2.2 存储
- 2.3 问题补充
- 3 char类型
- 3.1 定义
- 3.2 存储
- 3.3 char 类型的三种描述方法
- 3.3.1 使用单引号描述
- 3.3.2 使用整数描述
- 3.3.3 使用unicode描述
- 4 int类型
- 4.1 定义
- 4.2 存储
- 4.3 常量int类型
- 5 long类型
- 5.1 定义
- 5.2 常量long类型
- 6 float类型
- 6.1 定义
- 6.2 常量的float类型
- 7 double类型
- 7.1 定义
- 7.2 常量双精度
- 7.3 浮点型不精确
- 8 boolean类型
- 定义
1.2 存储字节(byte)是java基本数据类型中的最小类型。
1 byte = 8 bit
位数0-7,右边是0,左边是7。
最高位,也就是第7位,是符号位。0表示正数,1表示负数。
一个bit就有一个小方框,byte有8bit,所以是0-7,八个位,八个方框。
public class ByteTest{
public static void main(String[] args) {
byte a = 120;
System.out.println("byte的最小值:" + Byte.MIN_VALUE);
System.out.println("byte的最大值:" + Byte.MAX_VALUE);
}
}
2 short类型
2.1 定义
2.2 存储短整型(short):占2个字节
short = 2 * 8bit =16bit
最高位是符号位
public class ShortTest{
public static void main(String[] args){
short a = 120;
System.out.println("short的最小值:" + Short.MIN_VALUE);
System.out.println("short的最大值:" + Short.MAX_VALUE);
System.out.println("2的15次方:" + Math.pow(2,15));
}
}
2.3 问题补充
以下代码是否有错误?
short a= 1;
a = a + 1;
解析:这里会报错,Type mismatch: cannot convert from int to short
因为1的默认类型是int型,无法将一个更大的类型转化成更小的类型。
3.2 存储字符型(char): 占2个字节
3.3 char 类型的三种描述方法 3.3.1 使用单引号描述char类型只存储正数
最高位不管是0还是1都表示正数,因此char有16位用来存储,比short多一位
存储范围: 0 ~65535(2的16次方-1)
char ch = 'a'; // 定义一个char类型ch,存储字符a3.3.2 使用整数描述
char ch = 97; // 定义一个char类型ch,存储字符a3.3.3 使用unicode描述
char ch = "u0061"; // 定义一个char类型ch,存储字符a4 int类型 4.1 定义
4.2 存储整型(int):占4个字节
4.3 常量int类型最高位(第31位),0表示正数,1表示负数。
5 long类型 5.1 定义编译器会默认整型(1,3,22等等数字)为int类型
5.2 常量long类型长整型: 占8个字节
使用long类型常量要在常量末尾加大写或者小写的L字母,建议大写
final long NUM = 16L;6 float类型 6.1 定义
6.2 常量的float类型单精度: 占4个字节
使用float类型常量要在常量末尾加大写或者小写的F字母,建议大写
final float PI = 3.14F; //以F结尾表示单精度浮点型常量7 double类型 7.1 定义
7.2 常量双精度双精度: 占8个字节
编译器默认带小数的类型为double类型;
例如:1.2 , 25.7
double a = 2.45;7.3 浮点型不精确
浮点类型,float 和 double 都不能用来作比较,这是因为他们的表示并不精确,可能会出现意想不到的情况。
8 boolean类型 定义布尔型: 空间由不同JVM决定(oracle JVM按照int大小存储)
boolean只有两个值,ture / false ,即真或假。
boolean f = true;



