数据转换
等级排序
byte,short,char<<<int<<<long<<<float<<<double排序的依据是字节大小
转换方法
低阶转向高阶为自动转换自动的意思是说在你等号前输入高阶时候他已经可以自动转换(为了满足自身运行的需要)
高阶转向低阶:int num=144
byte num2=(byte)num但是他依旧是一个超标的
注意事项
分为强制类型转换和自动型类型转换(如上所言)
-
他不能对布尔值进行转换
-
不能这个对象的类型转换为不相干的类型
-
大容量转换为低容量时候需要强制转换
-
转换的时候可能遇到内存溢出或是精度问题
例:char c='a'
int d=c+1强制转换成了int类型(以ASCII码为依据)
System.out.println(d);//输出的结果是98
System.out.println((char)d);//输出的结果是b,以为在ASCII码中a为97,加一为98对应的是b
有一个大问题,(a+b)与a+b输出的数据类型不一样!
[Java数据类型转换:强制类型转换+自动类型转换 (biancheng.net)]图片引自
输入Byte然后CTRL+鼠标右键可以查看其数值范围(其他的自然是以此类推)
tips:数值输入的时候可以加下划线例如100_000不会影响输出
运算符
-
%为模运算
-
++的含义为”a=a+1"但是a++在这一步之后执行,给别人之后再自增;++a在这一步之前执行:先自增后执行这一步代码 ---同类