Java Quizzes Green = Easy, Blue = Normal, Red = Hard Q01 Q02 Q03 Q04 Q05 Q06 Q07 Q08 Q09 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Q19 Q20 Q21 Q22 Q23 Q24 Q25 Q26 Q27 Q28 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.