💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# Java 程序:使用`switch...case`创建一个简单的计算器 > 原文: [https://www.programiz.com/java-programming/examples/calculator-switch-case](https://www.programiz.com/java-programming/examples/calculator-switch-case) #### 在此程序中,您将学习使用 Java 中的`switch..case`创建一个简单的计算器。 该计算器将能够对两个数字进行加,减,乘和除运算。 ## 示例:使用`switch`语句的简单计算器 ```java import java.util.Scanner; public class Calculator { public static void main(String[] args) { Scanner reader = new Scanner(System.in); System.out.print("Enter two numbers: "); // nextDouble() reads the next double from the keyboard double first = reader.nextDouble(); double second = reader.nextDouble(); System.out.print("Enter an operator (+, -, *, /): "); char operator = reader.next().charAt(0); double result; switch(operator) { case '+': result = first + second; break; case '-': result = first - second; break; case '*': result = first * second; break; case '/': result = first / second; break; // operator doesn't match any case constant (+, -, *, /) default: System.out.printf("Error! operator is not correct"); return; } System.out.printf("%.1f %c %.1f = %.1f", first, operator, second, result); } } ``` 运行该程序时,输出为: ```java Enter two numbers: 1.5 4.5 Enter an operator (+, -, *, /): * 1.5 * 4.5 = 6.8 ``` 使用`Scanner`对象的`next()`方法,将用户输入的`*`运算符存储在`operator`变量中。 同样,使用`Scanner`对象的`nextDouble()`方法,将两个操作数 1.5 和 4.5 分别存储在变量`first`和`second`中。 由于运算符`*`匹配何时条件`'*':`,因此程序控制跳至 ```java result = first * second; ``` 该语句计算乘积并将结果存入变量`result`; `break`语句结束`switch`语句。 最后,执行`printf`语句。 **注意**:我们使用了`printf()`方法而不是`println`。 这是因为这里我们要打印格式化的字符串。 要了解更多信息,请访问 [Java `printf()`方法](https://www.programiz.com/java-programming/printstream#printf)。