建議8:不要讓舊語法困擾你。
goto語句中有著“double face”作用的關(guān)鍵字,它可以讓程序從多層的循環(huán)中跳出,不用一層一層地退出,類似高樓著火了,來不及一樓一樓的下,goto語句就可以讓你“biu~”的一聲從十層樓跳到地面上。這點(diǎn)確實(shí)很好,但同時也帶來了代碼結(jié)構(gòu)混亂的問題,而且程序跳來跳去讓人看著就頭暈,還怎么調(diào)試?!這樣做甚至?xí)[禍連連,比如標(biāo)號前后對象構(gòu)造或變量初始化,一旦跳到這個標(biāo)號,程序就不可想象了,所以Java中拋棄了goto語法,但還是保留了該關(guān)鍵字,只是不進(jìn)行語義處理而已,與此類似的還有const關(guān)鍵字。
Java中雖然沒有了goto關(guān)鍵字,但是擴(kuò)展了break和continue關(guān)鍵字,它們的后面都可以加上標(biāo)號做跳轉(zhuǎn),完全實(shí)現(xiàn)了goto功能,同時也把goto的詬病帶了進(jìn)來,所以我們在閱讀大牛的開源程序時,根本就看不到break或continue后跟標(biāo)號的情況,甚至是break和continue都很少看到,這是提高代碼可讀性的一劑良藥,舊語法就讓它隨風(fēng)而去吧!