質問
該当ソースコード中のLABEL1:{ }内のbreak文ですが、
LABEL1を対象とせず、switch(i){}を対象としてしまいます。
何故LABEL1が対象とならないのか理由を知りたいです。
break文でラベルを指定すれば対象をLABEL1にすることはできたのですが、
指定しない際、対象にならない理由をご存じの方、是非ご教授ください。
よろしくお願いいたします。
該当のソースコード
java
1class switchcase 2{ 3 public static void main(String[] args) 4 { 5 int i = 1; 6 switch(i){ 7 case 0: 8 System.out.println("0です"); 9 break; 10 case 1: 11 // LABEL1ブロックがbreakの対象にならない理由が知りたい 12 LABEL1:{ 13 System.out.println("5です"); 14 break; 15 } 16 System.out.println("この文に制御が移ることはありません"); 17 default: 18 { 19 System.out.println("default"); 20 break; 21 } 22 } 23 System.out.println("終了します"); 24 25 } 26}
補足情報(FW/ツールのバージョンなど)
openjdkは、version "1.8.0_41"
Windowsのコマンドプロンプト上でコンパイル及び実行しています
回答1件
あなたの回答
tips
プレビュー