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:
ii 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;
