我想问下运算的问题,JAVA的

Beackbao 发布于 2013/05/07 22:41
阅读 216
收藏 0

i++

++i两者的区别,他们到底是先执行哪一步先得呢?

例如:

i=3;

k=i++;

k=++i;

K值会是多少呢

还想问你们一个问题, eclipse是按哪个快捷键调试的时候他是一步一步执行的?

我在for循环中按F5他也是整句跳过的

加载中
0
CShWen
CShWen

i++先取i赋值后自增;++i先自增后赋值。

F5 --单步调试进入函数内部。 F6 --单步调试不进入函数内部

0
张冬
张冬
i=3;k=i++时k=3。但此时i=4。k=++i后,k=5,i=5
0
Ryan-瑞恩
Ryan-瑞恩

i++先自增后计算,比如 int i = 0; int k = i++; 这个时候k = i, i= i+1 ,k = 0,i的值变为1.

++i先自增后计算,比如 int i = 0; int k = ++i; 这个时候k = i = i + 1 ,k = 1,i的值为1.

0
YuHaidong
YuHaidong

分成几步来看:

0. k = i++ 和 k = ++i 是两个赋值表达式, 其中=的优先级低于前置和后置的++。

1. k = i++; k = ++i; 是两个赋值语句,赋值语句的语义是先对等号右边的表达式求值,然后将该值赋给等号左边的变量。

2. ++i 和 i++ 是两个表达式, ++i 的值是 i + 1, i++ 的值是 i。

3. 前置和后置的++运算符都有副作用,是 i = i + 1,隐含了赋值的操作。

0
弧线99
弧线99
i=3;

第一个k=i++ k是3

i=3

第二个k=++i k是4

0
析物言理
析物言理
先赋值i=3,对于k=i++表示i先赋值给k,在自加一等于4。然后程序继续向下运行,k=++i,表示i先自加一,等于4,值最后赋值给k
返回顶部
顶部