0

サンプルコードは次のとおりです。

import java.util.Scanner;

public class Test {

public static void main(String[] args) {
    System.out.println("Please type in a number");
    Scanner in = new Scanner(System.in);
    switch (in.nextInt()){
        case 1:
            save(in);
            break;
        case 2:
            System.out.println(value);
            break;
        default:
            System.out.println("Default case");
            break;
    }               
    in.close();
}

public static String save(Scanner in){
System.out.println("Type in a word");
String value = in.next();
return value;
}
}

この特定の状況でここでやろうとしているのはvalue、ケース 1 で保存された にアクセスすることだけです。

4

1 に答える 1

1

switchJava を含むすべての C ライクな言語のステートメントは非常に一般的です。breakswitch 変数の値に応じてラベルにジャンプし、ステートメントが現れるまで続行します。

長い説明で何を意味していたのかわかりませんが、次の例では:

switch(op) {
    case ONE:
        foo();
    case TWO:
        bar();
        break;
    case THREE:
        aaa();
        qqq();
        break;
}

op == ONE最初のメソッドfoo()が呼び出され、次にフローが のブロックに到達します。これは、TWObreak ステートメントが に記述されていないためです。ただし、break ステートメントは、スイッチの直後に表示されるコードにフローをジャンプさせます。ONEbar()

これは簡単な説明です。詳細については、良い本やチュートリアルを見つけて、switch ステートメントに関する章を読んでください。

于 2013-05-18T07:44:10.657 に答える