iT邦幫忙

2023 iThome 鐵人賽

DAY 9
0

「現在計算機程式碼應該都說明完了。」蕭凱琪鬆了口氣。「剩下的『while』你也體驗過它的效果了,只要括號裡的條件為真,它就會重複執行大括號『{}』包著的程式碼。」

「我就想問問,如果括號裡的條件永遠為真會怎麼樣?永遠重複執行?」勇者好奇它的極限。

「嗯⋯⋯如果你沒有使用『break』中斷的話就會永遠重複執行了,不過現實中並沒有真正的永遠啦。畢竟記憶體、CPU資源有限,大家只要看到電腦卡卡的,就會利用系統工作管理員殺掉程式了,再不然就是重新開機。」

「你是說當機其實是重複執行的程式碼造成的嗎?」勇者還沒遇過當機,但這不妨礙他在網路上看到各種當機抱怨文章。

「更確切的說,無窮迴圈會引發和當機相似的結果,因為它一直佔據CPU資源,導致其他想執行的程式的資源短缺,執行動作會非常緩慢,慢到你以為沒在執行。而真正的當機通常是由於資源競爭或記憶體洩漏引起的,和系統、硬體、編譯器、計算機架構有關,我想你不用煩惱啦。你剛進去不會碰到那些東西,那通常是更資深的工程師會考慮的問題。」

勇者搖晃了下腦袋,毫無疑問,蕭凱琪應該就是那所謂的資深一員,離開之後應該會有其他人接手她的部分吧,勇者把不安埋在心底,他現在要做的是專注於眼前的事物,畢竟他得先在新世界完成他的任務。他向蕭凱琪確認道:「所以我在現階段只要在使用『while』的時候特別注意就好了對嗎?」

蕭凱琪當然否認啦。「不要小看工程師的工作唷,同樣的功能可是有百百種寫法,每個人還會有他的程式碼風格,甚至看程式碼還能揣摩工程師的性格。」她停頓了一下,突然覺得自己有點激動了,對面只是個程式初學者呢,於是她趕緊收回情緒:「我是說,迴圈不只一種『while』方式實現,啊,『迴圈』就是指重複執行的程式碼。工程師稱重複執行的程式碼為『迴圈』或『迴圈結構』。其他的『迴圈』實現方式我打算在其他程式裡示範,所以我們先來總結一下學完的部分吧,把計算機的程式碼翻譯成人話試試。如果翻譯的很通順就代表你完全理解了唷。」

https://ithelp.ithome.com.tw/upload/images/20230918/20129197019mHsQN8T.png


上一篇
Day05#1 程式語言畢竟是人設計出來給人使用的
下一篇
Day06#2 continue&break
系列文
Kotlin快速轉職系列-勇者篇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言