/**
- 表达式类型提升规则:所有的byte,short,char型的值将被提升为int型,
- 一个操作数是long,结果是long型,一个操作数是float,结果是float型,
- 一个操作数是double,结果是double型,
- fianl修饰的变量不会自动改变类型, 当2个final修饰相操作时,结果会根据左边变量的类型…
- @author y 2017-8-1
*/
public class Test {
public static void main(String[] args) {
byte b1 = 1, b2 = 2, b3;
final byte b4 = 4, b5 = 6, b7;
// b1 + b2 结果自动升级为int类型
// b3 = b1 + b2; // Errot:cannot convert from int to byte
// 当2个final修饰相操作时,结果会根据左边变量的类型.....
b7 = b4 + b5; // 语句2;
// System.out.println(b3);
System.out.println(b7);
char a = 'a', b = 'b', c;
final char m = 'a', n = 'b', p;
// c = a + b; // Error: cannot convert from int to char
p = m + n;
// System.out.println(c);
System.out.println(p);
short x = 1, y = 2, z;
final short x1 = 1, y1 = 2, z1;
//z = x + y;// Error: cannot convert from int to short
z1 = x1 + y1;
//System.out.println(z);
System.out.println(z1);
}
}