对于byte/short/char/三种类型来说,如果右侧赋值的数值没有超过范围,
那么Javac编译器将会自动隐含的为我们补上一个(byte)(short)(char)。
byte num1 = 30;//30
//int-->byte ,不是自动类型转换
//int-->char ,不是自动类型转换char zifu = /*(char)*/65;//A 可以操作
注意:
如果没有超过左侧的范围,编译器补上强转。
如果右侧超过了左侧的范围,那么直接编译器报错。、 ==============================
注意:常量可以自动优化,如果是变量就不可以了。
short a = 3;
short b = 7;
short result = 3+7;
//short = result = a + b;// 报错,不可以运行
System.out.println(result);//可以运行