c的类型是flase,只能输出true或false。注意看,(a && b)&&( !b );这个是false,再看c == false?2:5;由于c是false,故sys.out.print就是flase。
此题,由于考查,你对类型变换中的理解。
result是5,因为它是整型的。
boolean a = false;
boolean b = true;
boolean c = (a && b)&&( !b );//false
int result = (c == false)?2:5;//'c == false' is true. then true?2:5 is 2.
System.out.println(c);//false
System.out.println(result);//2
你是判断c等不等于false,c就是false说明这个判断成立,那result=2
这么看你就懂了 (c==false)?2:5 c的值不是false 所以 false?2:5 结果是5
c == false ? 2 : 5
等价于
c == true ? 5 : 2
等价于
c ? 5 : 2