for(int i=0;i<10;i++)和for(int i=0;i<10;++i)的区别

qingqingcao22009 2013-08-29 05:22:42
如题
for(int i=0;i<10;i++)
for(int i=0;i<10;++i)
这两者有什么区别?
...全文
12403 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
lm_whales 2013-09-02
  • 打赏
  • 举报
回复
有些做法,强调的是习惯,不是对错,习惯用十十i这种,在用operator十十时,你就赚了,那会快不少!
login2012_xg 2013-09-02
  • 打赏
  • 举报
回复
一个是i++,一个是++i, 在这两个循环中使用没有什么区别,都是从0开始到9,执行10次循环
bigdata-sb 2013-09-02
  • 打赏
  • 举报
回复 1
在for循环里面是没有区别的 但是在运算的时候就有区别了 例如:

int a = 10;
int b = a++;
out.print(b); 打印10,但是这个时候a的值确是11了
int c = 10;
int d = ++c;
out.print(d); 打印11,c的值也变成了11;

coooliang 2013-09-01
  • 打赏
  • 举报
回复
在这个循环里没有区别。但是在如果在其它地方的话就有区别咯。 比如: int i=0 if(i++ == 1){} int i=0 if(++i == 1){}
末日哥 2013-09-01
  • 打赏
  • 举报
回复
木有区别
oh_Maxy 2013-09-01
  • 打赏
  • 举报
回复
i++和++i是有区别的,但是在for循环里,你这样用,是没区别的
yannick彬 2013-09-01
  • 打赏
  • 举报
回复
在这个for循环中是没有区别的,前缀和后缀自加(减)会在你复合语句中有区别, 比如 int x=1; int a=x++; 后a=1,x=2;(先赋值,x再自加) int a=++x; 后a=2,x=2;(x先自加,再赋值)
肖邦之离歌 2013-09-01
  • 打赏
  • 举报
回复
++i效率更高,这个里面的功能方面没什么区别。
Vurteon 2013-09-01
  • 打赏
  • 举报
回复
在这里没有区别,一般只有在有赋值的情况下才会表现出来,比如 a = i++; 和 a = ++i;前者先赋值后增加,后者先增加后赋值,是运算符的 优先性决定的。
  • 打赏
  • 举报
回复
在楼主的问题中,没有区别!
J帝 2013-09-01
  • 打赏
  • 举报
回复
结果是一样的,只不过过程不一样,前者是先取i的值再加1,后者是先加1,后取i得值,结果都是i=9;
skywoodsky 2013-09-01
  • 打赏
  • 举报
回复
就楼主的2个for来说,没区别
linhu007 2013-09-01
  • 打赏
  • 举报
回复
虽然都是循环10次,但是第一个是循环开始i就加1,第二个是循环一次后再i加1
u010485319 2013-08-31
  • 打赏
  • 举报
回复
单独就问题中的for没有什么区别,但是当单独讨论i++和++i时就有区别了,例如:a=i++,执行完后的a值是i原来的值,i值加了1,相当于a=i; i=i+1; 而a=++i相当于,i=i+1; a=i;
蒲东英的约定 2013-08-29
  • 打赏
  • 举报
回复
可能还有个误解,之前看到过,我刚想起来了,for循环是先执行前两个条件,再执行最后一个条件。 例如:
for(int i=0;i<10;i++){ System.out.println(i++); }
第一次执行前两个条件,满足,输出i=0,而后i++,i变成1,再执行for循环的第三个条件i++,i变成2;执行第二次循环,i是2,还是满足前两个条件,输入2;……………… 而
for(int i=0;i<10;++i){ System.out.println(++i); }
第一次执行前两个条件,满足,因为是输出++i,所以i先加一再输入,所以第一次输出1,而后执行for循环的第三个条件++i,i变成2;执行第二次循环,i是2,满足前两个条件,因为是输出++i,所以i先加一再输出,所以第二次出入i=3;……………………
soton_dolphin 2013-08-29
  • 打赏
  • 举报
回复
在这个循环里面没区别,单拿出来就有区别了
zqfddqr 2013-08-29
  • 打赏
  • 举报
回复
没区别。。。。
蒲东英的约定 2013-08-29
  • 打赏
  • 举报
回复
其实没啥区别,i++是指调用i之后加一,++i是指调用i之前加一,调用i的值都是一样的,一般都是用i++,
姜一游ptr 2013-08-29
  • 打赏
  • 举报
回复
i++具有滞后性 ++i具有提前性 例如: int i=0; System.out.println(i++); 这里结果为:0 System.out.println(++i); 这里结果为1
wufei151 2013-08-29
  • 打赏
  • 举报
回复
没有区别!》。。。
加载更多回复(5)

62,636

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧