This week's book giveaway is in the General Computing forum. We're giving away four copies of Arduino in Action and have Martin Evans, Joshua Noble, and Jordan Hochenbaum on-line! See this thread for details.
What will happen if you compile/run this code? 1: public class Q10 2: { 3: public static void main(String[] args) 4: { 5: int i = 10; 6: int j = 10; 7: boolean b = false; 8: 9: if( b = i == j) 10: System.out.println("True"); 11: else 12: System.out.println("False"); 13: } 14: } A) Compilation error at line 9 . B) Runtime error exception at line 9. C) Prints "True". D) Prints "False".
Answer : C Explanation : Conditional operators have high precedence than assignment operator. My question is : How it's works? Thank You.
The explanation says it all. Conditional operators have higher precedence over assignment. Therefore in the expression if( b = i == j) i==j is evaluated before b=i. i==j is true then b is assigned true & then true is printed out.
Originally posted by SteffySY Sing: What will happen if you compile/run this code? 1: public class Q10 2: { 3: public static void main(String[] args) 4: { 5: int i = 10; 6: int j = 10; 7: boolean b = false; 8: 9: if( b = i == j) 10: System.out.println("True"); 11: else 12: System.out.println("False"); 13: } 14: } A) Compilation error at line 9 . B) Runtime error exception at line 9. C) Prints "True". D) Prints "False".
Answer : C Explanation : Conditional operators have high precedence than assignment operator. My question is : How it's works? Thank You.
sing
Ranch Hand
Joined: Nov 29, 2001
Posts: 121
posted
0
Dear Roopa, I understand your explanation. Thank you. You have helped me 2 questions. Steffy
[This message has been edited by SteffySY Sing (edited December 05, 2001).]