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

switch包括 java 在内的所有类 c 语言中的语句都非常笼统。它根据 switch 变量的值跳转到标签,然后继续直到break出现语句。

我不确定您在冗长的解释中是什么意思,但在以下示例中:

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

op == ONE第一个方法foo()会被调用,然后流程会到达block of,TWO因为没有写break语句ONE,所以bar()会被调用。但是,break 语句会将流程跳转到紧接在 switch 之后出现的代码。

这是一个简短的解释。有关更多详细信息,请查找一本好书或教程并阅读有关 switch 语句的章节。

于 2013-05-18T07:44:10.657 回答