三目运算符 -- 求三个数最大值
package randi;
public class Test6 {
public static void main(String[] args) {
int A = 9;
int B = 8;
int C = 7;
int max = A > B ? A > C ? A : C : B > C ? B : C;
System.out.println(max);
}
}
三目运算符为右结合性
结合性只有在相同优先级的运算符间才起作用,比如a+b*c,+与*优先级不同,这里根本不用去管结合性。而a+b+c则需要进行结合性考虑了,如果+为左结合性,那么应该理解为:(a+b)+c,如果+为右结合性,那么应该理解为a+(b+c),当然了,我们已经知道+为左结合性了。
对于?:,在C中与它优先级相同的只有它自己,因此只有连续的?:才会体现出它的右结合性,即a?b:c?d:e中,根据右结合性可知应理解为a?b:(c?d:e)。