A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我知道++i和i++的区别在于执行+的前后顺序不一样,我现在想知道的是;在for循环中这两种表达是否也不同。如:区分 for(int i=0;i<5;i++)和for(int i=0;i<5;++i)这两种表达式的结果是否一样?我倒是认为是一样,至少从程序运行的结果来说,是一样的。不知道我的想法正不正确?

22 个回复

正序浏览

++i,是i先自增1,然后再参与运算,i++,是先参与运算,然后i在自增1,

区分 for(int i=0;i<5;i++)和for(int i=0;i<5;++i)这两种表达式的结果是一样的,因为i++,和++i都独立存在
回复 使用道具 举报
for循环里边的i++和++i是完全一样的,你的想法很正确。这点我可以保证。如果实在是要鸡蛋里头挑骨头的话,也有点区别,++i在速度上会比i++快一点,就快一点点,理由的话,i++会在内存上申请一个临时变量,保存i+1的值然后赋值给i,而++i没有赋值操作(这是课外话,快这一点完全可以忽略不计了,哈)。
回复 使用道具 举报
在for中是没区别的,在别的地方,i++是先运算再自加,++i是先自加再运算!
回复 使用道具 举报
在这里确实没啥区别
回复 使用道具 举报
多看视频啊,视频里讲得很清楚
回复 使用道具 举报
独立的句子同样都是自加 ,但其根本还是不同的  i++    先使用 再自增。 比如 a= i++   a=i  然后 再++
而++i 是 就是 i+1   a=++i 就是,先自增,然后把值赋给a
回复 使用道具 举报
视频里有!!!好好看下
回复 使用道具 举报
i++是运行完这条语言再自加,++i是先加再运行
回复 使用道具 举报
要判断一下自增、自减语句是否结束
回复 使用道具 举报
i 的前后没有其他的运算  所以  ++ 在前 或在后   运算结果都一样
回复 使用道具 举报
i 的前后没有其他的运算  所以  ++ 在前 或在后   运算结果都一样
回复 使用道具 举报
在这个for语句的这个位置上,应该不影响程序的结果
回复 使用道具 举报
在独立执行的时候,只涉及到i值时,是一样的吧
回复 使用道具 举报
咋这个位置时一样的
回复 使用道具 举报
本题中一样。
回复 使用道具 举报
主要作用还是用来看i的值和i++的值
回复 使用道具 举报
你这里用的时候是一样的,但是你要把每次i的值打印出来,你打印位置不同会出来不一样的i值
回复 使用道具 举报
首先++i 和i++都是一个表达式,i是一个变量;这两个式子都会让i加一,但是表达式的值是不同的,如果赋值语句先遇到的是i则表达式的值就是i的值减去1(i的值是已经自加过了的值),否则则i的值。
回复 使用道具 举报
在这里肯定是一样的啊,++后语句就结束的话,那先加后加没区别
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马