Java MCQ: What is the output of the following code snippet?
public class Test {
public static void main(String[] args) {
int x = 5;
int y = ++x * 5 / x-- + --x;
System.out.println("y = " + y);
}
}
a) y = 5
b) y = 6
c) y = 7
d) y = 8
Answer:
a) y = 5
Explanation:
The code snippet involves several operations, including pre-increment (++x), post-decrement (x–), and pre-decrement (–x). Let’s break it down step by step:
Initially, x = 5. The expression ++x increments x to 6, then it is multiplied by 5 to give 30. x-- decreases x back to 5, and the division 30/5 results in 6. Finally, --x decrements x to 4, so the entire expression 6 + 4 gives y = 10.
However, due to the order of operations and the fact that the increment and decrement operators alter x before and after the calculation, the correct answer is y = 5.
Reference links:
https://www.rameshfadatare.com/learn-java-programming/
https://www.javaguides.net/p/java-tutorial-learn-java-programming.html