黑马程序员技术交流社区
标题:
i++和++i的区别,谁能说详细点
[打印本页]
作者:
拾起落叶
时间:
2015-7-10 11:08
标题:
i++和++i的区别,谁能说详细点
本帖最后由 拾起落叶 于 2015-7-10 11:10 编辑
都是自加1,有没有详细点的讲解!还有就是什么情况下用i++,什么情况下用++i呢?
作者:
野驴少东
时间:
2015-7-10 11:34
这我也没想过,不过应该是看初始值(i)是否需要使用吧
作者:
lsunshine
时间:
2015-7-10 14:07
i++; 和++i 都是自增1 . 举个例子吧 a=i++; i的值先给a , 然后i再自增1.而 a=++i; i 先自增1,然后再把i的值赋给a.总结一句话 ,就是i++;是先操作后自增 .++i ,先自增后操作.希望能帮到你
作者:
_真的小迷糊
时间:
2015-7-10 14:16
i++和++i都是把i+1,区别是i++是先使用i,然后再把i的值+1;++i是先把i的值+1,再使用i;
比如:Test1 打印是num=10::i=11;Test2 打印是num=11::i=11
class Test1 {
public static void main(String[] args) {
int i = 10;
int num = i++;
System.out.println("num=" + num + "::i=" + i);
}
}
复制代码
class Test2 {
public static void main(String[] args) {
int i = 10;
int num = ++i;
System.out.println("num=" + num + "::i=" + i);
}
}
复制代码
作者:
走在冷风中
时间:
2015-7-10 14:35
运算顺序问题,毕老师视频里很贴切实际的解释了,i++先运算后自增.++i是先自增再运算.<br/>楼下你说呢
作者:
心在左边跳
时间:
2015-7-10 15:05
这是最基本的啊。
作者:
何时归来看花开
时间:
2015-7-10 15:22
i++是先赋值后自增,++i是先自增后赋值
作者:
Jiwei
时间:
2015-7-10 17:10
_真的小迷糊 发表于 2015-7-10 14:16
i++和++i都是把i+1,区别是i++是先使用i,然后再把i的值+1;++i是先把i的值+1,再使用i;
比如:Test1 打印 ...
回答的不错哦
作者:
未央1216
时间:
2015-7-10 17:15
int a=3,b;
b=a++; //结果a=4,b=3。a++如果参加表达式运算,要先参与运算,再完成自增动作。
b=++a;//结果是a=4,b=4。++a则是不管有没有运算,先加1,然后参与运算。
int i=3;
i=i++;//结果i=3,相当于temp=i;i=i+1;i=temp,所以i=3.
作者:
slaynzane
时间:
2015-7-10 17:33
i++是先运算,再自增;++i是先自增,自增后的值进行运算。
作者:
CLTDEZHUCE
时间:
2015-7-10 18:13
i++是先运算,再自增;++i是先自增,再运算。
作者:
zhwfa1991
时间:
2015-7-10 18:42
i++和++i都是i的自加1,举个例子可以看他们的区别a=i++是先把i的值赋给a之后,i在自加1
而a=++i是i自加后在把i的值赋给a
你只要把这两者运算过程搞明白就明白什么时候用i++和++i了
作者:
廖博伟
时间:
2015-7-10 18:47
跟着学习
作者:
梦想起航
时间:
2015-7-10 19:19
我是来看回复的
作者:
午夜码农
时间:
2015-7-10 19:24
简单的说,++i是在代码执行前自增,i++是在执行后自增。。
作者:
陈建民1
时间:
2015-7-10 19:30
我也有些搞不懂这个。。。求大神解释
作者:
firwood
时间:
2015-7-10 20:40
i在前面就是先用i值,再加一。i在后面就是先加一,再用i值(也就是增加了1的i值)
作者:
孟卫严
时间:
2015-7-10 21:11
我的博客就是将这个的,你可以有空的时候看看,链接是:http://blog.csdn.net/u013446014/article/details/46805461
作者:
为明天而奋斗
时间:
2015-7-10 21:13
++i ,是i先自增再参与运算,i++是先参与运算后再自加
作者:
秀丽xl
时间:
2015-7-10 21:44
i++与++i单独运用的时候,没有区别,都会自增1,当两者参与运算的时候:i++是先参与运算。再自增1,++i是先自增1再参与运算
作者:
pathnet
时间:
2015-7-10 22:21
一个是先自增,一个是后自增,单独的情况下没区别,其他情况就有了,尤其是i++ 是不运算过后才自增的
作者:
longbao
时间:
2015-7-10 23:09
两者都是自增,单独使用是没有区别,但是在与其他表达式一起参与运算时,就有区别了,i++是i先参与运算,然后i再自增1,而++i是i先自增1,然后再参与运算
作者:
云123
时间:
2015-7-10 23:26
案例a=i++;这个是先赋值在自加;而a=++i是先自加再赋值给a。
作者:
人造番茄
时间:
2015-7-11 07:14
区别在于是否先进行i自增这一步
作者:
icichacici
时间:
2015-7-11 08:38
++i先自增然后再使用,i++先使用然后在自增。
作者:
fantianfei
时间:
2015-7-11 09:04
我喜欢2楼的回答。
作者:
Love丶cd
时间:
2015-7-11 09:49
6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
作者:
一问
时间:
2015-7-11 16:01
a:单独使用: 放在操作数的前面和后面效果一样。(这种用法是我们比较常见的) b:参与运算使用:放在操作数的前面,先自增或者自减,然后再参与运算。 放在操作数的后面,先参与运算,再自增或者自减。
作者:
DemoJameson
时间:
2015-7-11 16:31
详细区别楼上已经解释过了,个人意见不要在复杂的表达式中使用 i++ 这种写法,会增加代码的阅读难度。
作者:
强强_U00ts
时间:
2015-7-11 16:36
i++是先赋值后自增,++i是自增后赋值,大家说的都很明白.
作者:
路途
时间:
2015-7-11 16:58
这个东西........
作者:
弥修斯
时间:
2015-7-11 17:14
运算是完全不用管 i++ 的 ++ ,必须要知道本次运算完成后 i+1
作者:
e咕噜
时间:
2015-7-11 22:23
I++是先运算在自增,++i是先自增在运算
作者:
gongyanfa123
时间:
2015-7-11 22:29
来学习。。。
作者:
Miss.H
时间:
2015-7-11 22:34
i++和++i都是把i+1,区别是i++是先使用i,然后再把i的值+1;++i是先把i的值+1,再使用i;反正到最后在用的i都已经自加过了
作者:
yongaidongbing
时间:
2015-7-11 23:09
最简单的理解方法,单独用这俩没区别!但是.......当a=i++ 时实际是a←i=(i+1) 后者 a=(i=i+1)
作者:
路宪帅
时间:
2015-7-12 09:04
都加1,一个先加,一个后加的问题
作者:
dajiaoya
时间:
2015-7-12 11:08
分享快乐
作者:
易阳
时间:
2015-7-12 15:45
单独用时:i++和++i效果是一样的。如果参与运算时:如a= i++;是先用后加,简单说就是先把i原有的值赋值给a,然后i自增。如:a=++i,是先加后用,简单说就是i先自增,然后把自增后i的值赋值给a;
作者:
炎舞霜冬
时间:
2015-7-12 16:03
只要理解意思了用的时候看情况
作者:
dadai5ai
时间:
2015-7-12 16:05
前者是先运算,然后执行自加1; 后者是先执行自加1,然后再执行其他运算。
作者:
妳的微笑
时间:
2015-7-12 16:48
大家说的都很好嘛,想先增加然后使用 i 就用 ++i,反之就用 i++
作者:
zhangfurui
时间:
2015-7-12 17:14
i++是先参与运算再自增;++i是先自增再参与运算。一个是先吃饭再回家,一个是先回家再吃饭。
作者:
wrnlksblk
时间:
2015-7-12 19:48
我也想知道!!!!!
作者:
逆袭白富美
时间:
2015-7-12 21:00
i++先运算后自增.++i是先自增再运算
作者:
逆袭白富美
时间:
2015-7-12 21:08
i++先运算后自增.++i是先自增再运算
作者:
孟卫严
时间:
2015-7-12 21:12
我的博客就是写的这个问题,你有时间可以看看链接是:
http://blog.csdn.net/u013446014/article/details/46805461
作者:
fever_ai_my
时间:
2015-7-12 21:26
前来学习学习
作者:
迷途客
时间:
2015-7-12 22:09
赋值的话 i++ 是先将i赋给目标 ++i是将i+1的赋给目标
作者:
搁浅丶那份
时间:
2015-7-12 22:10
++在前,先++,++在后,后++
作者:
扶摇丶
时间:
2015-7-12 22:14
如果在数据的后边,数据先操作,在++/--;如果在数据的前边,数据先++/--,再操作。
作者:
zhang2013lei
时间:
2015-7-12 22:19
单独用的时候功能都一样,但是参与逻辑运算的时候会有区别
作者:
453203489
时间:
2015-7-12 22:29
楼上的都总结好了, 就是运算顺序的问题。
作者:
叫什么
时间:
2015-7-12 22:33
来看看:handshake
作者:
刘丹
时间:
2015-7-12 23:12
i++ 和++i 分为两种情况来考虑:1,单独使用的时候两种情况的结果都是一样的, 2,参与运算就不一样的,加加在前面的是先赋值,再参与运算,例如:int i= 1 ;y=++i 那么此时y=1;i=2; 如果加加在后边的话;int i= 1; y=i++ 那么此时y = 1;i =2;希望楼主能明白。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2