语法
for (语句1; 语句2; 语句3)
{
被执行的代码块
}

语句 1 在循环(代码块)开始前执行

语句 2 定义运行循环(代码块)的条件

语句 3 在循环(代码块)已被执行之后执行(这就是循环中的++i和i++结果一样的原因,但是性能不一样,稍后解释)

语句1 (同上面语法中的 语句1)
语句1 是可选的,也就是说不使用语句1 也可以。

var i=2,len=5;
for (; i<len; i++){
document.write(cars[i] + “
”);
}

也可以在语句1 中初始化任意(或者多个)值:

var arr = [1,2,3]
for (var i=0,len=arr.length; i<len; i++){
document.write(cars[i] + “
”);
}
语句2 (同上)
通常语句 2 用于评估初始变量的条件。

语句 2 同样是可选的。

如果语句 2 返回 true,则循环再次开始,如果返回 false,则循环将结束。

如果您省略了语句 2,那么必须在循环内提供 break。否则循环就无法停下来。这样有可能令浏览器崩溃

语句3 (同上)
通常语句 3 会增加初始变量的值。

语句 3 也是可选的。

语句 3 有多种用法。增量可以是负数 (i–),或者更大 (i=i+15)。

语句 3 也可以省略(比如当循环内部有相应的代码时):

var i=0,len=arr.length;
for (; i<len; ){
document.write(cars[i] + “
”);
i++;
}

++i 和 i++ 的区别
var i = 10;
console.log(i++); //10 ,先引用原值,然后加1

等价于:

var i= 10;
console.log(i); //先输出i
i++; //然后加1

var i = 10;
console.log(++i); //11 , 这次是先加1,然后输出

总结下:++在前下自加后运算;++在后先运算后自加

for循环中++i 和 i++ 的区别
根据上面的for循环的语法定义 ++i 和 i++的结果是一样的,都要等代码块执行完毕才能执行语句3,但是性能是不同的。在大量数据的时候++i的性能要比i++的性能好原因:

i++由于是在使用当前值之后再+1,所以需要一个临时的变量来转存。

而++i则是在直接+1,省去了对内存的操作的环节,相对而言能够提高性能

Java for 循环中++i和i++的区别相关推荐

  1. 在循环之前或循环中声明变量之间的区别?

    本文翻译自:Difference between declaring variables before or in loop? I have always wondered if, in genera ...

  2. 【Java】泛型中 extends 和 super 的区别?

    <? extends T>和<? super T>是Java泛型中的"通配符(Wildcards)"和"边界(Bounds)"的概念. ...

  3. for循环中++i和i++的区别

    语法 for (语句1; 语句2; 语句3){被执行的代码块} 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块)的条件 语句 3 在循环(代码块)已被执行之后执行(这就是循环中的 ...

  4. 【java】深入理解Java JVM虚拟机中init和clinit的区别

    1.概述 转载并且补充:深入理解Java JVM虚拟机中init和clinit的区别 原创 之所以来转载一下,是因为,有个学弟问了这个问题 这个知识点,回顾起来应该是我看 深入理解Java JVM虚拟 ...

  5. 20200927:Java和Cpp中栈与队列的区别

    Java和Cpp中栈与队列的区别 题目 思路与算法 代码实现 对比分析两种语言中栈和队列的区别 题目 1.225. 用队列实现栈 2.232. 用栈实现队列 3.155. 最小栈 思路与算法 三道简单 ...

  6. for循环中++i 和 i++ 的区别

    for循环中++i 和 i++ 的区别 for (语句1; 语句2; 语句3) {被执行的代码块 } 根据for循环的语法定义 ++i 和 i++的结果是一样的,都要等代码块执行完毕才能执行语句3,但 ...

  7. java list循环中删除元素的坑

    背景 当我们要循环一个list中的元素,并且要删除某个元素的时候,一点要小心谨慎!其中深埋了好几个坑! 坑1 请看如下代码: /*** 测试删除集合中的空白元素*/ @Test public void ...

  8. 三分钟教会你Java while循环中嵌套if

    ##[java的三种循环结构与循环嵌套] 循环结构: 语法,及执行顺序 语法: while(boolean类型){//功能语句} 执行顺序: 1[断小括号中的值是否为true,如果为true,执行功能 ...

  9. java中swing循环_在Java游戏循环中使用“ SwingUtilities.invokeLa...

    因此,我正在用JAVA创建一个等距游戏:简而言之,它有一个由图块组成的地图,当用户在屏幕上拖动鼠标时,地图就会移动.为了给大家一个主意,目前看起来像这样: 在实际的原型版本之前,我构建了一个小的Jav ...

最新文章

  1. 人工智能项目开发规划与准备
  2. LNMP一键安装脚本(第二版)
  3. Spring+ActiveMQ+Mysql 配置JMS
  4. Reuse library debug in Chrome - phase2 handle success response (2)
  5. SAP S/4HANA里的生产订单,标识其已经结束生产可以发货的字段
  6. 监控linux时间不对,shell 计算故障时间 配合web监控
  7. 华为gsm模块_出货量全球第一,华为阿里腾讯都是其客户,上海移远通信牛在哪?...
  8. nginx设置跨域问题
  9. “庆渝年”​又更新了!法院裁定:禁止李国庆接触、骚扰、殴打俞渝
  10. 配置SQL Server 2008 R2 Reporting Services
  11. 数字孪生智慧园区能源管理系统
  12. 多所985、211高校教授被通报!国自然发布处理决定!
  13. MATLAB线型英文名字
  14. 计算机中¥符号按哪个键,人民币键盘符号怎么打 电脑怎么打人民币符号
  15. Si5395/94/92时钟芯片配置步骤
  16. 线性方程组求解——基于MTALAB/Octave,Numpy,Sympy和Maxima
  17. 什么是二极管钳位电路
  18. 通过实时语音驱动人像模拟真人说话
  19. Linux系统时区时间修改
  20. comsol官方案例学习——轴对称瞬态传热

热门文章

  1. 娱乐化手游营销模式探索
  2. Lucene4.3.1 拼写检查SpellChecker
  3. review 栈 --java实现
  4. linux命令的学习
  5. 最全面详细讲解Oracle入门
  6. 浅谈HASH算法与CSDN密码泄漏事件
  7. Android跨进程通信二——AIDL
  8. android实现过程,Android:一个完整app开发流程
  9. linux系统安装后需要的有效小工具(持续更新)
  10. byte 和16进制关系