条件操作符的问题
char x='a';double ii=2.0;System.out.println(true?x:0);System.out.println(false?ii:x);
?运行结果:
? ? ? ? ? ? ? ? ? ?a
? ? ? ? ? ? ? ? ? ?97.0
呀呀呀,不应该是两个a吗?原来,条件操作符的第一个操作数和第二个操作数的类型是至关重要的,确保这两个操作数是同类型的是很必要的。否则会出现以上的情况。因为ii是double的,所以在第二个条件操作语句中a被转换成了double型的。