示例:使用 switch 语句的简单计算器
import java.util.*
fun main(args: Array<String>) {
val reader = Scanner(System.`in`)
print("Enter two numbers: ")
// nextDouble() reads the next double from the keyboard
val first = reader.nextDouble()
val second = reader.nextDouble()
print("Enter an operator (+, -, *, /): ")
val operator = reader.next()[0]
val result: Double
when (operator) {
'+' -> result = first + second
'-' -> result = first - second
'*' -> result = first * second
'/' -> result = first / second
// operator doesn't match any case constant (+, -, *, /)
else -> {
System.out.printf("Error! operator is not correct")
return
}
}
System.out.printf("%.1f %c %.1f = %.1f", first, operator, second, result)
}
运行程序后,输出将是
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 中。
因为运算符 *
匹配了 '*':
这个 when 条件,所以程序的控制流跳转到
result = first * second;
此语句计算乘积并将其存储在变量 result 中,并使用 printf
语句打印出来。
这是等效的 Java 代码:Java 编程:制作简单计算器