- 實戰Java程序設計
- 北京尚學堂科技有限公司
- 475字
- 2019-10-16 10:45:24
3.2.6 帶標簽的break語句和continue語句
goto關鍵字很早就在程序設計語言中出現。盡管goto仍是Java的一個保留字,但并未在Java語言中得到正式使用,Java沒有goto語句。然而,在break和continue這兩個關鍵字身上,我們仍然能看出一些goto的影子——帶標簽的break語句和continue語句。
“標簽”是指后面跟一個冒號的標識符,例如:“label:”。對Java來說唯一用到標簽的地方是在循環語句之前,而在循環之前設置標簽的唯一理由是:希望在其中嵌套另一個循環。由于break和continue關鍵字通常只中斷當前循環,但若隨同標簽使用,它們就會中斷到存在標簽的地方。
在“goto有害”論中,最有問題的就是標簽,而非goto。隨著一個程序里的標簽數量的增多,產生錯誤的概率也越來越高。但在Java環境下標簽不會造成這方面的問題,因為它們的活動場所已被限定,不可能通過特別的方式到處傳遞程序的控制權。由此也引出了一個有趣的問題:通過限制語句的能力,反而能使一項語言特性更加有用。
【示例3--18】帶標簽的brreak語句和contitinue語句
//控制嵌套循環跳轉(打印101~150之間所有的質數) public class Test18 { public static void main(String args[ ]) { outer: for(int i=101; i < 150; i++) { for(int j=2; j < i / 2; j++) { if(i % j == 0){ continue outer; } } System.out.print(i + " "); } } }
執行結果如圖3-25所示。

圖3-25 示例3-18運行結果
推薦閱讀
- Unity 2020 By Example
- 精通Nginx(第2版)
- HTML5移動Web開發技術
- Mastering Selenium WebDriver
- Mastering SVG
- 深入淺出WPF
- 深入淺出PostgreSQL
- AppInventor實踐教程:Android智能應用開發前傳
- Python從入門到精通
- Java Web從入門到精通(第2版)
- LabVIEW數據采集
- C語言程序設計實驗指導與習題精解
- Expert Cube Development with SSAS Multidimensional Models
- Switching to Angular 2
- Xamarin Mobile Application Development for Android(Second Edition)