Java for 循环中++i和i++的区别
語法
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++的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构-简单实现二叉树的先序、中序、后
- 下一篇: 第十届蓝桥杯java B组—试题B 不同