Week 1-8: Spring Boot 学习计划完整项目
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
78
week1/day02/Calculator.java
Normal file
78
week1/day02/Calculator.java
Normal file
@@ -0,0 +1,78 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user