byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double
1.数据类型的转换
1.1自动数据类型转换 :等号赋值 等号左边的范围大于右边则自动转换 把小的赋值给大的自动类型转换
double e =1000L;//自动数据类型转换
1.2强制类型转换 等号赋值 等号左边的范围小于右边则自动转换 把大的赋值给小的强制类型转换
int num =(int)100L;//强制类型转换
1.3注意事项:
1.3.1强制类型转换一般不使用 可能会有精度损失 数据溢出(洒了)
数据溢出
int num =(int)100000000000L;//强制类型转换 System.out.println(num); //1215752192
精度损失
int num5 =(int)3.5F; System.out.println(num5);//3 不是四舍五入
1.3.2byte/short/char(字符常量也能加法,一旦char类型进行数学运算,呢么字符char会按照一定的规则翻译成一个数字)这三种类型都可以发生数学运算例如+ - ,byte/short/char运算时候首先会被提升为int类型,然后再计算。
char zifu1='A'; System.out.println(zifu1); //A System.out.println(zifu1+1); //66 int bun6=(int)zifu1; System.out.println(bun6);//65
byte/short/char运算时候首先会被提升为int类型,然后再计算。 byte num7=10; byte num8=20; int num9=num7+num8;//int30 byte num10=(byte)(num7+num8);//注意这两个括号 byte30
1.3.3boolean不能发生任何的数据类型转换
2 ascii码
0--48
A--65
a--97
int num01 =zifu1; //int<--char System.out.println(num01); //65
2.1数字和字符的对照关系表(编码表):
ascii码 :美国信息交换标准代码
Unicode码表 万国码 也是数字和符号的对照关系 开头0-127与ascii码表一样