This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.

Hi All, I am unable to read this statement written using ? operator. a = b ? c ? d : e ? f : g : h ? i : j ? k : l ; If any one can tell me whihc is true part of which and which is false part. To me this statement seems look like this. if b is true then we go the true part and that is that we check c that if c is true. And if it is true then we finish at d by reutring the value of d. But what if b is false what will be returned. And now if we find b true, then c false and e false then we eand up at g. Can someone explain me what wil the case theat we will reach at k or l. Or if some one can write an algorithmic form of this expression. Regards Muhammad Ali

Sorry, i submitted too quickly... a = (b ? (c ? d : (e ? f : g)) : (h ? i : (j ? k : l))); 1. if b is true then we evaluate (c ? d : (e ? f : g)) (the first part) else the second part (h ? i : (j ? k : l)) 2. the same for each part: if b is true and c is true then a=d if b is true and c is false and e is true then a=f if b is true and c is false and e is false then a=g if b is false and h is true then a=i if b is false and h is false and j is true then a=k if b is false and h is false and j is false then a=l Hope it helps, Val