1、單層for迴圈
long start =system.currenttimemillis();
int sum=0;
for(int i=0;i<1000000000;i++)
long end = system.currenttimemillis();
system.out.println(end-start); //輸出時間差為3-5之間
2、雙層for迴圈
long start =system.currenttimemillis();
int sum=0;
for(int i=0;i<1;i++)
long end = system.currenttimemillis();
system.out.println(end-start); //輸出時間差為3-8之間
3、雙層for迴圈
long start =system.currenttimemillis();
int sum=0;
for(int i=0;i<1000000000;i++)
long end = system.currenttimemillis();
system.out.println(end-start);//輸出時間差為1000以上
比較1、2、3中三種情況下,消耗情況
i<10000
變數例項化
初始化比較自增i
1110000
10000
i<10000 j<1
變數例項化
初始化比較自增i
1110000
10000
j10000
1000011
i<1 j<10000
變數例項化
初始化比較自增i
1111
j1110000
10000
以上可見,優化for迴圈時,可以把例項化和初始化放在迴圈之外進行。
修改如下:
(1)long start =system.currenttimemillis();
int i=0;
int j=0;
int sum=0;
for(;i<1000000000;i++)
long end = system.currenttimemillis();
system.out.println(end-start); //輸出4
(2)long start =system.currenttimemillis();
int i=0;
int j=0;
int sum=0;
for(;i<1000000000;i++)
long end = system.currenttimemillis();
system.out.println(end-start); //輸出5
(3)long start =system.currenttimemillis();
int i=0;
int j=0;
int sum=0;
for(;i<1;i++)
long end = system.currenttimemillis();
system.out.println(end-start); //輸出5
for迴圈執行效率
include include include include define a 10000 define b 10 define num 100000 void main double a a b double b 0 int t1 clock for int n 0 n 第一種情況是內外層迴圈次...
for迴圈各種演算法效率
最高效的是將 for迴圈條件語句中的 length 屬性存入乙個區域性變數 演算法一,使用for in,var i 0 for i in obj 執行時間結果是最長的,即最沒有效率的 24ms 演算法二,for迴圈 for var i 0 i obj.length i 執行時間結果,比較有效率 17...
js FOR迴圈效率問題
引 每個接觸js的開發人員都不可避免的與for迴圈打交道,畢竟這是遍歷必不可少的工具之一。然而當迴圈次數比較大時,效率問題必須重視。在群眾,站長提出了這個話題,回去好好想了下,整理出來,大家一起討論討論。1.倒序比正序效率高?聽好多人說,倒序效率更高,好吧,做個實驗,讓事實說話 測試 複製 測試結果...