- Java程序員面試筆試寶典(第2版)
- 何昊等編著
- 726字
- 2022-06-17 16:00:44
1.9 break、continue以及return的區別
break:直接強行跳出當前循環,不再執行剩余部分。當循環中遇到break語句時,忽略循環體中任何其他語句和循環條件測試,程序控制在循環后面語句重新開始。所以,當多層循環嵌套,break語句出現在嵌套循環中的內層循環,它將僅僅只是終止了內層循環的執行,而不影響外層循環的執行。
continue:停止當次循環,回到循環起始處,進入下一次循環操作。continue語句之后的語句將不再執行,用于跳過循環體中的一部分語句,也就是不執行這部分語句,而不是跳出整個循環執行下一條語句,這就是continue與break的主要區別。簡單地說,continue只是中斷一次循環的執行而已。
return:return語句是一個跳轉語句,用來表示從一個方法返回(返回一個值或其他復雜類型),可以使程序控制返回到調用它方法的地方。當執行main方法時,return語句可以使程序執行返回到Java運行系統。
由于break只能跳出當前的循環,那么如何才能實現跳出多重循環呢?可以在多重循環的外面定義一個標識,然后在循環體里使用帶有標識的break語句即可跳出多重循環。例如:

程序運行結果為:

上例中,當內部循環j=2時,程序跳出雙重循環,執行System.out.println("break")語句。
引申:Java語言中是否存在goto關鍵字?
雖然goto作為Java的保留字,但目前沒有在Java中使用。在C/C++中,goto常被用作跳出多重循環,在Java語言中,可以使用break和continue來達到同樣的效果。那么既然goto沒有在Java語言中使用,為什么還要作為保留字呢?其中一個可能的原因就是這個關鍵字有可能會在將來被使用。如果現在不把goto作為保留字,開發人員就有可能用goto作為變量名來使用。一旦Java支持goto關鍵字了,這會導致以前的程序無法正常運行。因此把goto作為保留字是非常有必要的。
這里需要注意的是,在Java語言中,雖然沒有goto語句,但是卻能使用標識符加冒號(:)的形式定義標簽,如“mylabel:”,其目的主要是在多重循環中方便使用break和continue。
- 數據庫程序員面試筆試真題與解析
- 從零開始:數字圖像處理的編程基礎與應用
- Effective C#:改善C#代碼的50個有效方法(原書第3版)
- SQL Server 2012數據庫技術及應用(微課版·第5版)
- 實戰Java程序設計
- Cassandra Design Patterns(Second Edition)
- Learning SQLite for iOS
- Cocos2d-x學習筆記:完全掌握Lua API與游戲項目開發 (未來書庫)
- 程序設計基礎教程:C語言
- Java系統化項目開發教程
- Windows內核編程
- 常用工具軟件立體化教程(微課版)
- Test-Driven Development with Django
- Python計算機視覺和自然語言處理
- WebStorm Essentials