简单的三目运算符:
exp?st1:st2
其中表达式exp的结果是个boolean类型的数据,如果是true则执行st1,如果为false则执行st2
复杂一点的:
x?a:b?c:d
先看b?c:d的结果:若b为真结果为c,否者为d,记b?c:d的结果为z,
则x?a:b?c:d等价为x?a:z。若x为真,结果为a,否则为z。
二者的区别在于运算顺序,对于简单的只做一次判断的三目运算从左到右就行,而对于多层嵌套的三目运算则需要从右到左一层一层进行判断。
简单的三目运算符:
exp?st1:st2
其中表达式exp的结果是个boolean类型的数据,如果是true则执行st1,如果为false则执行st2
复杂一点的:
x?a:b?c:d
先看b?c:d的结果:若b为真结果为c,否者为d,记b?c:d的结果为z,
则x?a:b?c:d等价为x?a:z。若x为真,结果为a,否则为z。
二者的区别在于运算顺序,对于简单的只做一次判断的三目运算从左到右就行,而对于多层嵌套的三目运算则需要从右到左一层一层进行判断。