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

  • 實戰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運行結果

主站蜘蛛池模板: 辉南县| 时尚| 盐源县| 武城县| 通州市| 大余县| 虹口区| 唐山市| 贵德县| 平舆县| 松江区| 阿克| 伊通| 凉山| 汉阴县| 青阳县| 察雅县| 龙门县| 华容县| 莫力| 炎陵县| 东乡县| 乌苏市| 蚌埠市| 永寿县| 巴林右旗| 辉县市| 仁怀市| 秀山| 伊通| 巨鹿县| 泸州市| 民乐县| 平果县| 高雄市| 巩留县| 达日县| 贵阳市| 麻栗坡县| 高阳县| 昌江|