这里有一些语句, 其中错误的都注释掉了,都是类型错, 求解为什么?
例如第一处注释
这边X是int型, b1是byte型, 无法赋值
它下一行Y是int型, b2是byte型, 赋值成功
是否和编译过程有关?
int a = 1;
final int X = a;
final int Y = 10;
//byte b1 = X;
byte b2 = Y;
byte b3 = Y + 1;
//byte b4 = (4 < 5)? X : 4;
byte b5 = (4 < 5)? Y : 4;
byte b6 = 12;
byte b7 = (4 < 5)? b6 : 4;
//byte b8 = b6 + 4;
byte b9 = (4 < 5)? b6 : ('3' + 1);
//byte b10 = (4 < 5)? b6 : '3';
char ch1 = 'A';
char ch2 = (4 < 5)? ch1 : (4 + 1);
//char ch3 = (4 < 5)? 'A' : b6;
//short s = (4 < 5)? 'A' : b6;