为了账号安全,请及时绑定邮箱和手机立即绑定
int newAge=--age1; 和int newAge=age1--;有什么区别,他们的运输顺序是怎样的?

正在回答

34 回答

int a=5;
int b=++a;
这段代码是先将a本身进行自减,这是a已经被自减位4,然后再将a这个值也就是4赋给b,由于a进行了自减,所以打印出的结果就是a=4,b=4.


int a=5;
int b=a--;
这段代码说的是先将a这个值也就是5赋给b,然后再回到a这个值本身自减1,不会将b值自减,所以这时a=4,b=5。

逻辑其实有点绕,但其实很容易理清。

3 回复 有任何疑惑可以回复我~
#1

a=5 b=++a a=6 b=5
2016-10-30 回复 有任何疑惑可以回复我~
#2

lesous

a=6了
2017-07-29 回复 有任何疑惑可以回复我~

刚开始学可以理解为按照顺序从左往右算  b=++a 是a自增1  将这个结果值赋给b;b=a++是将a值赋给b  a再进行自增  


0 回复 有任何疑惑可以回复我~
int A = --c1;
b =2
A = 10;
System.out,println(a);


0 回复 有任何疑惑可以回复我~

++a就是“先加后用”,a++就是“先用后加”

0 回复 有任何疑惑可以回复我~

我是刚学,我理解的是++a=b*(a+1),a++=b*a+1

减法就是变个符号,这样理解是不是这个却呢,简单数学公式*+*

0 回复 有任何疑惑可以回复我~

看代码比较容易理解这个顺序,如下:

//int newAge = --age1; 方式说明
age1 = 2;
age1 = age1 - 1;
newAge = age1; 
//结果: age1 为 1; newAge 为 1;
//int newAge = age1--; 方式说明
age1 = 2;
newAge = age1;
age1 = age1 - 1;
//结果: age1 为 1; newAge 为 2;


13 回复 有任何疑惑可以回复我~
#1

慕丝女神

这两个方式不是调换位置 结果却不一样
2015-12-08 回复 有任何疑惑可以回复我~
#2

慕粉1308326587

这完全是在乱写
2017-03-15 回复 有任何疑惑可以回复我~
#3

qq_开水猴_0 回复 慕粉1308326587

tongyi
2017-11-08 回复 有任何疑惑可以回复我~

不难的啊,运算符号在前面的就是先运算后使用,运算符在后面的就 先使用后运算。

2 回复 有任何疑惑可以回复我~

一出现相反的答案就让人头蒙了。擦

0 回复 有任何疑惑可以回复我~

a++;和++a的问题   前面是先赋值 再自增   后面一个是先自增  再赋值

2 回复 有任何疑惑可以回复我~

我觉得他们回答的很正确

2 回复 有任何疑惑可以回复我~
#1

每天一点学

我觉得你说的对
2016-11-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信