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