0
Can someone explain the output of the program in step by step manner (i got the output 20..however answer is 25)
public class Program { public static void main(String[] args) { int x = 5; x=x++*2+3*--x; System.out.println(x); } }
1 Resposta
+ 5
The second line goes:
x = x++*2 + 3*--x;
(while initially x was assigned 5)
Let's break it down to two parts, P1 and P2:
x = P1 + P2 {P1=x++*2, P2=3*--x}
What happens in P1:
P1 = x*2 and after that, x gets incremented by 1.
So P1 = 10 and x = 6
What happens in P2:
P2 = 3*--x, so x gets decremented by 1 before being taken to multiplication
So x = 6-1 = 5, thus P2 = 3*5 = 15
Finally, x gets assigned to P1 + P2, so 10 + 15 = 25