Can somebody explain why output of the code below is 1.
int i = 1;
i=i--;
System.out.println(i); // 1
Can somebody explain why output of the code below is 1.
int i = 1;
i=i--;
System.out.println(i); // 1
i--
does the following steps:
i
i
by 1so the statement i = i--
does the following:
i
is returned (the statement now equals i = 1
)i
is decremented (i is now 0)i = 1
)In the end i
is 1
To make it a bit more clear you could say the line i = i--;
does pretty much the same as this code:
int j = i;
i = i-1;
i = j;