Files
gc-plan/week1/day02/Calculator.java
2026-04-29 23:45:17 +08:00

79 lines
2.5 KiB
Java
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package day02;
/**
* 第 2 天:计算器 —— 变量、数据类型、运算符
* 目标:掌握 Java 基本数据类型和运算符
*
* 概念速查:
* int —— 整数4 字节,约 ±21 亿)
* double —— 浮点数8 字节,双精度)
* Scanner —— 从控制台读取用户输入
* + - * / % —— 加减乘除取余
*/
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("========== 简易计算器 ==========");
// 读取第一个数
System.out.print("请输入第一个数字: ");
double num1 = scanner.nextDouble();
// 读取运算符
System.out.print("请输入运算符 (+, -, *, /): ");
// 注意next() 读取字符串charAt(0) 取第一个字符
char operator = scanner.next().charAt(0);
// 读取第二个数
System.out.print("请输入第二个数字: ");
double num2 = scanner.nextDouble();
double result = 0;
boolean valid = true; // 标记运算是否合法
// 根据运算符执行不同运算
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
// 除法需要特殊处理:除数不能为 0
if (num2 != 0) {
result = num1 / num2;
} else {
System.out.println("错误:除数不能为零!");
valid = false;
}
break;
default:
System.out.println("错误:不支持的运算符!");
valid = false;
}
// 输出结果
if (valid) {
System.out.println("----------------------------");
System.out.printf("%.2f %c %.2f = %.2f\n", num1, operator, num2, result);
}
// 额外练习:类型转换演示
System.out.println("\n--- 类型转换小实验 ---");
int a = 10;
int b = 3;
System.out.println("整数除法 10 / 3 = " + (a / b)); // 输出 3截断
System.out.println("浮点除法 10.0 / 3 = " + (10.0 / b)); // 输出 3.333...
System.out.println("取余 10 % 3 = " + (a % b)); // 输出 1
scanner.close();
}
}