看到一个很复杂的条件运算:
(quantity >50 ? discount3 : ( quantity > 20 ? discount2 : ( quantity > 10 ? discount 1 : 0.0 ) ) ) ) ;
看的眼睛都花了,请问如何分析?
先看最左边的条件运算符,并把( quantity > 20 ? discount2 : ( quantity > 10 ? discount 1 : 0.0 ) ) 用条件2代替,即:(quantity >50 ? discount3 : 条件2);这样就比较明显了,如果quantity >50,值就取discount3,否则值就取条件2;而条件2同理把( quantity > 10 ? discount 1 : 0.0 ) 替换条件3;即如果quantity > 20 ,值取discount2,否则值取条件3;最后条件3则是,如果quantity > 10,值取discount1,否则值取0.0;综上所述,语句意思如下:
如果quantity >50,值取discount3,如果quantity <= 50并且quantity > 20,值取discount2,如果quantity <= 20并且quantity > 10,值取discount1,否则值取0.0 。 |