続行して破損すると、ループの実行フローを変更できますが、複数のループでは、これらの2つのステートメントは内部ループから外側ループに直接ジャンプすることはできません。 C言語では、GOTOステートメントを通じて複数のループジャンプを実現できますが、非ループ構造でGOTOステートメントを使用すると、プログラムの構造が乱れ、読みやすさが悪化します。したがって、Javaはタグ付けされたConting and Breakステートメントを発明しました。これは、実際にはループ専用の制限を備えたGOTOステートメントです。
通常、使用する連続(または破損)ステートメントにはラベルがありません。つまり、継続(または破損)ステートメントがデフォルトで現在のループで実行されます。ラベルを備えたループは、実際にループに名前を与えます。 「継続(または壊す) +タグ」ステートメントを使用する場合、実際にタグが配置されているループで継続(または破損)ステートメントを実行します。
次に、3つの例を使用して、ラベル付きループを説明しましょう。
1。ラベルのないダブルループ
パッケージjavaleanning; public class labletest {public static void main(string [] args){for(int i = 0; i <10; i ++){for(int j = 0; j <10; j ++){system.out.out.print( "("+i+"、"+j+");実行結果
(0,0)(0,1)(0,2)(0,3)(0,4)(0,5)(0,6)(0,7)(0,8)(0,9)
(1,0)(1,1)(1,2)(1,3)(1,4)(1,5)(1,6)(1,7)(1,8)(1,9)
(2,0)(2,1)(2,2)(2,3)(2,4)(2,5)(2,6)(2,7)(2,8)(2,9)
(3,0)(3,1)(3,3)(3,3)(3,4)(3,5)(3,6)(3,7)(3,8)(3,9)
(4,0)(4,1)(4,3)(4,4)(4,5)(4,6)(4,7)(4,8)(4,9)
(5,0)(5,1)(5,2)(5,3)(5,4)(5,5)(5,6)(5,7)(5,8)(5,9)
(6,0)(6,1)(6,3)(6,4)(6,5)(6,6)(6,7)(6,8)(6,9)
(7,0)(7,1)(7,2)(7,3)(7,4)(7,5)(7,6)(7,7)(7,8)(7,9)
(8,0)(8,1)(8,3)(8,4)(8,5)(8,6)(8,7)(8,8)(8,9)
(9,0)(9,1)(9,2)(9,3)(9,4)(9,5)(9,6)(9,7)(9,8)(9,9)
2。ラベル付きのダブルループ、「Break+Label」ステートメント
この例では、ループのダブルです。外側のループの始まりにラベルを付けます(つまり、外側のループに名前を付けます)「アウターサイクル」。内側のループで「Break Outercycle」を使用する場合、AutercycleループでBreakステートメントを直接使用することと同等です。
パッケージJavaleanning; public class labletest {public static void main(string [] args){outourtycycle:for(int i = 0; i <10; i ++){for(int j = 0; j <10; j ++){if(j == 5){break outourcycle;} system.out.out.print( "("+i+"、"+j+")) ");} system.out.println();}}}実行結果
(0,0)(0,1)(0,2)(0,3)(0,4)
3。ラベル付きのダブルループ、「Continue+Label」ステートメント
この例では、ループのダブルです。外側のループの始まりにラベルを付けます(つまり、外側のループに名前を付けます)「アウターサイクル」。内側のループで「Outercycleを続行」を使用する場合、Autercycleループで継続ステートメントを直接使用することと同等です。
パッケージjavaleanning; public class labletest {public static void main(string [] args){for(int i = 0; i <10; i ++){for(int j = 0; j <10; j ++){if(j == 5){continue outoursecycle;} system.out.out ");} system.out.println();}}}実行結果
(0,0)(0,1)(0,2)(0,3)(0,4)(1,0)(1,1)(1,2)(1,3)(1,4)(2,0)(2,1)(2,2)(2,3)(2,4)(3,0)(3,1)(3,1)(3,3)(3,4)(4,0)(4,0)(4,1)(4,1) (4,3)(4,4)(5,0)(5,1)(5,2)(5,3)(5,4)(6,0)(6,1)(6,4)(7,0)(7,1)(7,2)(7,3)(7,4)(8,4)(8,1)(8,2)(8,4)(8,4)(8,4)(8,4)(8,4)(7,3)(7,3)(7,3)(7,3)(7,3) (9,1)(9,2)(9,3)(9,4)
注:実際の実行結果はすべて1つの行に表示されます(つまり、行の破損ステートメントは実行されません)。現在、このような表示結果は、レイアウトの理由のみです。