官术网_书友最值得收藏!

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。

主站蜘蛛池模板: 错那县| 定州市| 嵊州市| 浠水县| 满城县| 崇义县| 英德市| 宁强县| 开封县| 梁平县| 屯昌县| 玉山县| 杭州市| 高安市| 青河县| 新竹县| 宝山区| 诏安县| 鹤壁市| 双峰县| 临海市| 通州市| 乐清市| 铜山县| 太白县| 丰都县| 宁化县| 揭东县| 竹溪县| 车险| 广元市| 沁水县| 桂林市| 故城县| 盐津县| 溧水县| 宁远县| 光泽县| 敦煌市| 长春市| 莎车县|