三目运算符 -- 求三个数最大值

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)。
posted @ 2020-05-07 23:54  路漫漫兮其修远  阅读(1326)  评论(0编辑  收藏  举报