Java的标签--弱化的goto
生活随笔
收集整理的這篇文章主要介紹了
Java的标签--弱化的goto
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
看到一道這樣的java的選擇題, 代碼如下
1 public static void main(String[] args) {2 int k = 10;3 for (int i = 0; i < 10; i++) {4 start:5 System.out.print("s");6 if (i > 5) break;7 else System.out.print("g");8 while(k > 0) {9 System.out.print("t");k--; 10 if (i > 3) 11 break start; 12 } 13 } 14 }給出代碼輸出.
上述這道題考察了java的break和continue的標簽使用.
上述的代碼是錯誤的, 會在編譯期報錯, java的label只可以用在迭代語句之前, 而且是剛好之前, 不可以插入任何語句, label只是用來控制嵌套迭代
java編程思想中的介紹
label1:
outter-iteration {
inner-iteration {
break; // 中斷內部迭代, 回到外部迭代
continue; // 回到內部迭代的起始處
continue label1; // 中斷內部外部迭代, 跳轉到label1處, 繼續迭代過程, 從外部迭代開始
break label1; // 中斷所有迭代, 回到label1處, 不會重新進入迭代
}
}
下面寫兩個簡單的例子
continue的例子
1 public static void main(String[] args) {2 outter:for (int i = 0; i < 2; i++) {3 System.out.println("i = " + i);4 for (int j = 0; j < 5; j++) {5 if (j > 3) {6 System.out.println("continue outter");7 continue outter;8 }9 System.out.println("j = " + j); 10 } 11 } 12 }輸出結果為
i = 0 j = 0 j = 1 j = 2 j = 3 continue outter i = 1 j = 0 j = 1 j = 2 j = 3 continue outterbreak的例子
1 public static void main(String[] args) {2 outter:for (int i = 0; i < 2; i++) {3 System.out.println("i = " + i);4 for (int j = 0; j < 5; j++) {5 if (j > 3) {6 System.out.println("break outter");7 break outter;8 }9 System.out.println("j = " + j); 10 } 11 } 12 }輸出結果為
i = 0 j = 0 j = 1 j = 2 j = 3 break outter我們可以看到, break label之后就不會再執行外部迭代了.
?
?
參考:
作者:icejoywoo
出處:http://www.cnblogs.com/icejoywoo/
from:http://www.cnblogs.com/icejoywoo/archive/2012/10/25/2740005.html?
總結
以上是生活随笔為你收集整理的Java的标签--弱化的goto的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java并发编程 Synchronize
- 下一篇: Java中被搁置的“goto”保留字