目录
byte:字节型
由于Java中不区分有符号数和无符号数,故一个字节有八位,一位用来描述符号,剩余位代表数值大小。

所以byte能表示的范围为-128~127。
short:短整型
int:整型
注意:Java是在Java虚拟机JVM中运行的,不管在32位还是64位操作系统,int都是四字节。
long:长整型
float:单精度浮点型
double:双精度浮点型
char:字符型
注意:Java与C++不同,Java中char占用两个字节。
一个字符的ascii码占用一个字节,unicode码占用两个字节。
boolean:布尔型
注意:在给这八类数据类型赋值时,不能超过其最大表示范围。
强制类型转换使用场景:大范围强制转换成小范围。
例题:
在此问题中a+2的结果是int,但是a还是short类型,所以应该进行强制类型转换。
注意:强制类型转换存在风险。
例题:
- public static void main(String[] args) {
- int a=128;
- byte b=(byte)a;
- System.out.println("a="+a);
- System.out.println("b="+b);
- }
运行结果:

分析:
但是byte占一个字节(8个二进制位),能表示的范围为-128~127,128的时候对于byte来说符号为(最高位)1,表示负数,此时-128的补码恰好为为10000000。