数据类型转换:
1、自动类型转换:数据范围需满足从小到大时使用
long num1 = 100;
System.out.println(num1);
上图:将int类型的数字100,赋值给long类型的num1,此时即自动转换
2、强制类型转换:一般不推荐使用
如上图,当将long类型的数值100L赋值给一个int类型的变量,此时会报错;
解决途径如下,但一般不推荐使用,如:
int num2 = (int)10000000000L;//1410065408,100亿超出了int类型21亿的取值范围,此时会数据溢出 System.out.println(num2);
int num3 = (int)3.99;
System.out.println(num3);//3,小数点被舍弃了,精度缺失
ps:byte/short/char这三种类型在运算的时候,都会被提升成为int类型
byte num4 = 40;
byte num5 = 50;
int result = num4 + num5;//byte/short/char类型运算时会自动提升为int
System.out.println(num5);
二、ASCII码表(0~127)、Unicode码
char zifu1 = 'A';
char zifu2 = 'a';
char zifu3 = '1';
System.out.println((int)zifu1);//65
System.out.println((int)zifu2);//97
System.out.println((int)zifu3);//49
计算机底层存储都是二进制,所以就产生了数字和字符的对照关系表,如上图,A 对应的是 65
char zifu4 = '中';
System.out.println((int)zifu4);//20013
汉字“中”,对应的数字是 20013