別讓for迴圈毀了你的程式(一)

2021-10-02 02:06:40 字數 1169 閱讀 2336

for迴圈是開發中常用的,但是使用for迴圈仍然有很多有需要注意的地方。今天我們就來細說for迴圈帶了的坑。

今天,同事遇到了乙個奇怪的問題,問題是這樣的,他遍歷向乙個集合新增資料,結果發現for迴圈變成了死迴圈。大致**如下。

//學生類

class

student

//無參構造方法

public

student()

public string getname()

public

void

setname

(string name)

public

intgetage()

public

void

setage

(int age)

}//測試程式

public

static

void

main

(string[

] args)

students.

add(student);}

}

好了,執行一下測試程式,你會發現程式變成了死迴圈,集合的size在不斷增加,最終可能卡死你的終端。

分析一下原因,這是為什麼了。其實,出現這種問題,歸根結底,就是基礎不夠紮實,或者做事太粗心,原因很簡單。

每次迴圈後,又新增了這個物件到陣列中,增加了陣列的長度,而且list裡面是允許儲存先通過物件的。進而導致了一list的增加,造成了死迴圈。其實新增物件屬性就可以了,物件本身還在list裡面的。

public

static

void

main

(string[

] args)

// students.add(student);//去掉這句**即可

}}

通過,這個簡單的列子,我們需要實時吸取教訓,凡事多總結。

平時一定要注意基本功,只有基本功紮實才會必秒因為基礎不紮實出現本不該出現的問題。

不管做什麼事情,一定要細心。

在使用list集合遍歷並操作自身時,一定要注意位置是變化的,size 是移動的。

雖然很基礎,希望大家遇到類似的問題不要範湖,一定注意要仔細,如果你覺得幫助了您,麻煩給個小紅心吧,接下來我會繼續講解for迴圈,以及高效迴圈演算法。

別讓手機的這些軟體,毀了你的人生

朋友圈看到乙個故事,是揭示人們被手機改變後的生活 深夜乃至黎明將至,人們一邊想著該睡了,一邊還抱著手機遲遲不肯入眠 白天,隔上三五分鐘就要拿出手機看看的人不計其數 工作中,總想著還可以再逛逛 看看京東 這些無一不在說明手機改變了我們。20世紀90年代,大哥大出現,但那個時候 大哥大 是土豪身份的象徵...

畢業三到五年,別讓「努力」毀了你

畢業,就像乙個大大的句號,從此,我們告別了一段純真的青春 一段年少輕狂的歲月 乙個充滿幻想的時代,紛紛走向了社會。剛畢業的時候,作為職場新人,我們都拿著接近的薪水,幹著相似的事情,大家都過得差不多。小夥伴c還特別委屈的跟我說,我以前一直信奉一句話 只要努力工作就會得到相應待遇 我特別努力也特別勤快,...

畢業三到五年,別讓「努力」毀了你

畢業,就像乙個大大的句號,從此,我們告別了一段純真的青春 一段年少輕狂的歲月 乙個充滿幻想的時代,紛紛走向了社會。剛畢業的時候,作為職場新人,我們都拿著接近的薪水,幹著相似的事情,大家都過得差不多。小夥伴c還特別委屈的跟我說,我以前一直信奉一句話 只要努力工作就會得到相應待遇 我特別努力也特別勤快,...