For迴圈效率

2021-08-02 09:24:39 字數 1695 閱讀 6075

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.倒序比正序效率高?聽好多人說,倒序效率更高,好吧,做個實驗,讓事實說話 測試 複製 測試結果...