+ 2
Having problem with increment in Java
Can anyone please explain me why all of they are showing 35? I thought about 34, 34, 36. if I remove int z then x show 34. int x = 34; int y = x++; int z = ++y; System.out.println(x); System.out.println(y); System.out.println(z); //////// Output //////// 35 35 35
3 ответов
+ 2
If you use the Pre/Postfix operators like ++, you need to remember that the incremented variable will be assigned that value!
Do I'll go through it line by line:
int x = 34;//declare and init new variable x of type int with the value 34
x is 34!
int y = x++;//new integer: first use the value of x:
y and x are 34!
and only then increment x by one.
x is 35
y is 34
int z = ++y;// new int: first increment the value of y:
y is now 35, too!
and then use the value:
x remained untouched here and stays 35,
y got incremented up to 35
and z is y, so 35 also.
Got it?
+ 17
int x = 34;
int y = x++; //y=34++ , ie y=34 & x becomes 35
int z = ++y; //z=++34 , ie z=35 & y becomes 35
+ 3
got it, thanks.