- public class ByteTest
- {
- public static void show(Object o)
- {
- System.out.println(o);
- }
- public static void main(String[]agrs)
- {
- //java规定可以把表数范围小的类型自动转换为表数范围大的类型
- //你会想1应该是整型怎么可以赋值给byte,但是下面的1表示的是一个
- //整型常量,只要他的值比在b的范围内,就可以完成赋值
- byte b=1;
- show(b);
-
- //这个设计自动转换 和表达式中类型的自动提升
- //java规定在多个类型变量的算术表达式中,表达式的整体类型会自动提升到表达式中
- //类型表数范围最大的那个类型,c是byte 1是整型 所以c+1表达式最终结果的类型为int
- //你想int的结果怎么能赋给比它小的类型byte了
- //解决方法就是在c+1前面加(byte)
- byte c=1;
- c=c+1;//c=(byte)c+1;
- show(c);
-
- //自加 自减 都只是把操作数+-1;不涉及类型转换
- //a+=1 a中的1变成2在赋值给a
- byte a=1;
- a=a+=1;
- show(a);
- }
- }
复制代码 |