<< |
Java Quizzes Green = Easy, Blue = Normal, Red = Hard Q25 Q26 Q27 Q28 Q29 Q30 Q31 Q32 Q33 Q34 Q35 Q36 Q37 By title |
>> |
---|

The following example shows different kind of unary operators.

### Java quiz 26: How unary operators work?

Level: Normal

What happens if the following code is compiled and run?

public class MyClass { static int x = 8; public static void main(String[] args) { if(x == x--) { x -= 4; } else { x -= 3; } System.out.print(x++ + ++x + x++); } }

###### Author: Sar Maroof

### Answer explanation

- The statement if(x == x–) returns true, because the value of x is decremented by one after the evaluation.
- The statement x -= 4; decrements the value of x by 4.
- The statement System.out.print(x++ + ++x + x++); prints the sum of x++, ++x and x++ to the standard output. x++ = 8-1-4 = 3, ++x = 3 +2 = 5, because the value of x is incremented by one a step before. The value of the last x++ remains 5. The statement writes (3 + 5 + 5) 13 to the standard output.

The correct answer is: b.

If you found this difficult, you might consider reading my book Java quizmaster for beginners. It is easy to understand, organized to learn Java in 17 days and it guides you to master Java code by solving 105 quizzes and 117 assignments. This book explains each chapter properly before starting with exercises and assignments. It is available on Amazon. See inside the book here!

Please, leave your questions, feedback and suggestions in the comments below!

SarMaroof.com offers a practical method to learn and improve your Java skills. It avoids unnecessary long boring theoretical explanations, but it uses many exercises and quizzes.

## Suggested Articles

## Books by Sar Maroof |

Subscribe to Sar Maroof's RSS feeds! Mail this page to a friend! Bookmark this page! |

The statement writes (4 + 6 + 6)

this is wrong The statement writes (3 + 5 + 5), The trick is it evaluates the expression first so we miss the 6 and end up in adding 3, 5, 5. please correct me if i’m wrong

Sorry sri, thanks for your comment. I have mixed two quizzes for different websites with the same idea, but different results. The end result is 3 + 5 + 5 = 13.