有人能解释一下这是什么吗?
public class Test {
public static void main(String[] args) {
char c = 'A';
int i = 0;
boolean b = true;
System.out.println(b ? c : i);
System.out.println(b ? c : (char)i);
System.out.println(b ? c : 0);
System.out.println(b ? c : (char)0);
}
}
输出结果:
65
A
A
A
从我的角度来看,这看起来很奇怪。我本来期望只有 A
打印出来。而且:当我用 0
替换 i
时,为什么输出会改变呢?输出似乎对于所有的 i
值都是相同的,而不仅仅是 0
。