thats true..but line 2>>>>>>>> you have assigned 11 to i and then in line 3..you have 11 value assigned to i again and later incremented...but this incremented value has not been assigned to i (i still has 11 value) that is the reason it prints 11..
agreed with your answer...but you are reassigning the value of 11 to i... there is difference when you are using i =i++ ( you have assigned the value 11 here to i and then you are incrementing it but not assigning it back to the variable) and just i++ (you have incremented the variable and it is retained...what ever changes you make to the variables on RHS side will not be retained except for the increment operators)
do you think this is tru... int a =5; int b =10; int c = a + 5;
now, has the value of "a" changed since you have added 5 to it...??? no similarily is the case with the assignmnet operators in you example..