Javaの質問です。以下のようなコードがあるとします。


class Sample {
public static void main(String[] args) {
char type = 'A';
switch (type) {
case 'A' :
System.out.println("A 型");
case 'B' :
System.out.println("B 型");
case 'O' :
System.out.println("O 型");
}
}
}

このコードの出力結果は、「A型」「B型」「O型」、すべてが出力されるようです。
自分は「A型」しか出力されないと思ったのですが…解説がない問題でして、理由を考えても、どうも導き出せません。
なぜ「A型」「B型」「O型」すべてが出力されるのか、理由をお教えいただけないでしょうか。
よろしくお願い致します。

回答の条件
  • 1人10回まで
  • 登録:
  • 終了:2019/06/11 19:52:36
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:rsc96074 No.1

回答回数4502ベストアンサー獲得回数437

ポイント300pt

 JavaでもCと同様に、switch(){}文中の「case 'A':」などは、ただのラベルなので、break文によって抜け出なければなりません。

※参考URL
http://kouki-hoshi.hatenablog.com/entry/2016/01/08/014635

他1件のコメントを見る
id:rsc96074

 多分、いいと思います。

2019/06/11 06:39:43
id:moon-fondu

ありがとうございます(^^;

2019/06/11 19:52:29

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません