Java 变量自增
int a=1;
int b=1;
int a1,b1;
a1 = a++;
b1 = ++b;
// 这时候a =2, b=2
// 但是 a1 = 1, b1 =2
a++
是:
- 先取出 a 的值放在栈中
- a 自增
- a1 得到栈中的值
++b
是:
- b 先自增
- 把 b 的值放在栈中
- b1 得到栈中的值
int c = 1;
int d = 2;
int e;
e = c++ + ++c + c++*++d;
// 猜猜e的值?
e = 13
我们来分析一下
-
c++
:
e = 1 + ++c + c++*++d
c=2
-
++c
:
c=3
e = 1 + 3 + c++*++d
-
c++
:
e = 1 + 3 + 3*++d
c=4
-
++d
:
d = 3
e = 1 + 3 + 3*3
- 得到
e=13
网友评论