簡介
在開始進入主題之前,筆者在此先介紹一些迴圈結構,相信許多學過程式語言的朋友們,在學習一門程式語言的過程之中,必然會碰到所謂的迴圈(loop)結構,而在Java裡的迴圈結構不外乎就是for loop、while loop 和 do/while loop,其中for loop和while loop 兩者算是「先判斷後執行的迴圈結構(pretest loop)」,而 do/while loop 則是「先執行然後再判斷是否持續執行的迴圈結構(post-test loop)」,基本上大部份的程式語言都擁有此三種迴圈結構。
談完了迴圈結構我們再回頭來看看本文的主題「Enhanced for loop」,在Flash ActionScript的語法中稱為for in,而在PHP也有稱為foreach 的說法,不過在這隻「老虎」的革新之下,我們也可稱它為「Enhanced for loop」,從它的字眼間我們不難看出它意謂著「增強型」的for loop,既然是「增強型」的for loop,想當然定有不同於for loop之處,不過筆者在此還是先向各位透露,其實Enhanced for loop的底層實作機制就是「for loop」迴圈結構而已,只是透過Java Compiler在編譯時期幫我們做一些「料理」,雖然從字面上看起來感覺很微妙,但是相信各位讀者咀嚼過本文之後,便能夠體會這其中的奧秘。