講for的筆記

2021-08-30 22:12:59 字數 1681 閱讀 3080

先是說for比while更安全,因為for是把一推東西都寫在括號中的嘛.

而while需要現在外部定義乙個物件,

所以,while中可能出現如此**,

iteratori = c.iterator();

while(i.hasnext())

//...

iteratori2 = c2.iterator();

while(i.hasnext())

for迴圈就不可能出現.

然後,就是乙個比較有意思的,可能你知道,算俺少見多怪吧...

for (int i = 0, j = 1, k = 2;;)

-------------------

"利用for-each迴圈不會有效能損失,甚至用於陣列也一樣。實際上,在某些情況下,比起普通的for迴圈,它還稍有些效能優勢,因為它對陣列索引的邊界值只計算一次。"

public static void main(string args)

long forend = system.currenttimemillis();

for (int i : iarr)

long foreach = system.currenttimemillis();

system.out.println("for:" + (forend - forbegin) + " foreach:" + (foreach - forend));

//輸出結果,for:31 foreach:16

}public static void test(int i)

看輸出結果,果不其然!for-each是怎麼實現的呢?看來肯定不是用普通for迴圈鳥...

-------------------

在看乙個,書中要講明要用for-each,盡量不要用for的乙個例子,for可能會遇到的乙個問題,

public static void main(string args) }}

enum suit

enum rank

當然,解決辦法簡單到只需在第二個for迴圈前把i.next()賦給乙個物件.

但是,曰不優雅呀!

okay,於是乎就這樣了,

for (suit suit : suits)

for (rank rank : ranks)

deck.add(new card(suit,rank));

要注意呀,"for-each迴圈不僅讓你遍歷集合和陣列,還讓你遍歷任何實現iterable介面的物件",o耶,以後要玩集合都要實現iterable鳥...

-------------------

至於最後提單的,"過濾"和"轉換"時不要用for-each並非沒有瑕疵.如果是個物件的集合的話,用for-each做remove(過濾)和為屬性賦值(轉換)應該也是木問題的.

當然,如果是簡單型別集合的話,"轉換"與"過濾"不宜用for-each了.("轉換",如果使用=或者new的話,即使是物件集合,也是不行的吧)

《朱自清講國學》筆記

說文解字。文字相傳是由倉頡所造,其意義在其產生的本源似乎並不是為了文化 知識等的傳承,是作為一種巫術。想來似乎蠻有道理。現在所謂的詛咒 預言等不都是一些符號或者文字遊戲嗎?但文字的產生確實給社會 給人類帶來了極大的推動。最初文字是為統治所用。使用文字統一思想,統一國民價值觀歷來是統治者們屢試不爽的工...

英語筆記46 50講

第46講 a,先行詞是人的話用that,who,whom,whose來引導定語從句,when,where,why why 用於修飾表示原因的名詞 eg.the reason we don t know the reason why he didn t show up when 修飾表示時間的名詞 e...

英語學習筆記7 10講

第七講 實意動詞 實意動詞有數量上的變化和時態上的變化 come來read讀go去watch看play玩fly飛 例 實意動詞的否定 提問 回答 使用助動詞進行否定 在助動詞do does did 後面加not 例 使用助動詞進行提問 例 第九講 when什麼時候where哪兒who誰what什麼h...