目录

有人告诉我在java的for循环语句中的i++与++i有什么区别

i++与++i的区别是:1、++i是先改变i的值即加1后再使用i的值;而i++是先使用i的值在改变它的值即加;2、for循环内部仅形式不同:当i++循环和++i循环在for循环内部,虽然形式上明显不同,但输出结果可以一样。

一、java的for循环语句中的i++与++i的区别

1、++i是先改变i的值即加1后再使用i的值;而i++是先使用i的值在改变它的值即加。

2、for循环内部仅形式不同:当i++循环和++i循环在for循环内部,虽然形式上明显不同,但输出结果可以一样。

3、printf()输出函数内,不仅形式不同且输出结果也不同:i++和++i,二者在形式上明显不同,且输出结果也不同,输出值分别为1和2。

另外两者的运行时间有差别,当循环此时较少没多少出入,但是当我们循环的次数上去了那么这差距就有点明显了。然后仔细探考后发现:在Java中i++语句是需要一个临时变量取存储返回自增前的值,而++i不需要。这样就导致使用i++时系统需要先申请一段内存空间,然后将值赛如进去,最后不用了才去释放。多了这么一系列操作时间当然多了啊,最后建议大家以后在写for循环且不影响逻辑的情况下多使用++i,少使用i++,这也算一定程度的系统优化

延伸阅读:

二、Java for循环语句

  • 首先执行初始化 ( initialization )步骤,并且仅执行一次。 此步骤用于声明和初始化循环控制变量,此步骤以分号 (; )结束。
  • 接下来,计算布尔表达式 ( boolean_expression )。 如果结果为: true ,则执行循环体。 如果为 false ,则不执行循环体,控制跳转到 for 循环之后的下一个语句。
  • 在执行 for 循环体之后,控件跳回到 update 语句。 此语句用于更新任何循环控制变量。 此语句可以留空,最后是分号 (; )。
  • 现在再次评估布尔表达式 ( boolean_expression )。 如果结果为: true ,则循环执行并重复该过程 (循环体,然后是更新步骤,然后是布尔表达式)。 布尔表达式为 false 后, for 循环终止。
一站式研发项目管理平台 PingCode

一站式研发项目管理平台 PingCode

支持敏捷\瀑布、知识库、迭代计划&跟踪、需求、缺陷、测试管理,同时满足非研发团队的流程规划、项目管理和在线办公需要。