可视化三元运算符

Visualize Ternary operator

谁能解释一下这行代码

int num1;
int num2;
int num3;
int largest = ( (num1 > num2) ? ( (num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3));

在 IF-Else 语句中所以我可以理解

这个

int largest = ( (num1 > num2) ? ( (num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3));

相当于

int largest;
if (num1 > num2) {
    if (num1 > num3) {
       largest = num1;
    } else {
       largest = num3;
    }
} else {
    if (num2 > num3) {
       largest = num2;
    } else {
       largest = num3;
    }
}

虽然它可以更简单地实现:

int largest = Math.max(num1, Math.max(num2, num3));