自增++符号在前,则是先做自增再赋值,如果++在后则是做了赋值再做自增运算,--同理
如:
int k = 8;
int j = ++k;
System.out.println('\n' + "k = " + k); //输出 k = 9
System.out.println("j = " + j); //输出 j = 9
int m = 6;
int e = m++;
System.out.println("m = " + m); //输出 m = 7
System.out.println("e = " + e); //输出 e = 6
int q = 10;
System.out.println(++q); //输出 11
int p = 5;
System.out.println(p++); //输出 5
System.out.println(p); //输出 6
//笔试题1
int a = 10;
int b = 10;
int c = 10;
a = b++; //这时a的值为10,b的值为11。
c = --a; //这时c的值为9,a的值是9。
b = ++a; // 这时b的值为10 , a的值为10。
a = c--; // 这时a的值为9, c的值为8。
System.out.println("a = "+ a + ", b = " + b + ", c = " + c);
//输出 a=9 b=10 c=8
//笔试题2
int x = 4;
int y = (x++)+(++x)+(x*10); //4 + 6 + 60 =70 容易把第一个括号的结果为5其实应该是4
System.out.println("x = " + x + ", y = " + y); // x = 6 y = 70
//笔试题3
int i = 0;
i = i++;
/*在这里i的值为0先赋给了左边的i,左边的i值为0;
赋完值后再做了i的自增运算,所以右边的i的
值是1 ,在java的内存管理最后还是把i的值赋值为
0即保留等号左边的值*/
System.out.println("i = "+ i); //输出 i = 0 。