java - 在 switch 语句中将值从一种情况传递到另一种情况

标签 java if-statement switch-statement return-value scope

这是一个示例代码:

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;
}
}

在这种特殊情况下,我在这里要做的就是访问存储在情况 1 中的

最佳答案

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

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

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

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

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

关于java - 在 switch 语句中将值从一种情况传递到另一种情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16621708/

相关文章:

java - 如何从 Exchange 获取内容。In :Body object from a ProcessDefinition in Camel

java - 第一次加载 Android 时 HIGHChart 不显示图表

java - Jsp窗体Jsp调用onClick方法

java - 代码效率。使用循环的有效方法

C++:为什么我们可以在 switch 的情况下声明变量

java - 如何使用纯 JPA/Hibernate 注释避免违反外键约束

ruby - 如何循环请求用户输入,直到用户输入正确的信息?

c++ - goto 和 junping 循环循环 c++

java - switch 语句在这里是否合适,采用枚举?

java - Java 的 switch-yield 语法的某些模式中的编译错误