外观
随堂实操任务清单 第 4 讲
💡 操作指南:点击每个任务右上角的 “复制模板代码 📋”,在您的 IDE(IntelliJ IDEA / VS Code)中打开对应类文件并补全核心代码。运行结果请参考下方的 “预期控制台输出” 进行自测比对。
实操 1状态位掩码提取与逻辑运算演示
BitmaskDemo.javajava
/**
* 状态位掩码提取与逻辑运算演示
* @author MatNoble
*/
public class BitmaskDemo {
public static void main(String[] args) {
// 定义权限掩码
int READ_MASK = 0b0001; // 读权限
int WRITE_MASK = 0b0010; // 写权限
int EXECUTE_MASK = 0b0100; // 执行权限
// 用户拥有读和执行权限
int userPermission = READ_MASK | EXECUTE_MASK; // 0b0101 = 5
System.out.println("用户权限掩码值: " + userPermission);
System.out.println("是否具备读权限: " + ((userPermission & READ_MASK) != 0));
System.out.println("是否具备写权限: " + ((userPermission & WRITE_MASK) != 0));
System.out.println("是否具备执行权限: " + ((userPermission & EXECUTE_MASK) != 0));
}
}实操 2现代 Java 14+ 增强 switch 表达式与传统 switch 对比
ModernSwitchDemo.javajava
/**
* 现代 Java 14+ 增强 switch 表达式与传统 switch 对比
* @author MatNoble
*/
public class ModernSwitchDemo {
public static void main(String[] args) {
int dayOfWeek = 3;
// 现代箭头语法 switch 表达式 (无穿透,自动 break,支持返回值)
String dayName = switch (dayOfWeek) {
case 1 -> "星期一 (Monday)";
case 2 -> "星期二 (Tuesday)";
case 3 -> "星期三 (Wednesday)";
case 4 -> "星期四 (Thursday)";
case 5 -> "星期五 (Friday)";
case 6, 7 -> "周末 (Weekend)";
default -> "无效的星期代码";
};
System.out.printf("星期代码 %d 对应: %s\n", dayOfWeek, dayName);
}
}实操 3商场会员梯度折扣计算器
DiscountCalculator.javajava
import java.util.Scanner;
/**
* 随堂实操任务 4:商场会员梯度折扣计算器
* @author MatNoble
*/
public class DiscountCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("=========================================");
System.out.println(" 商场购物阶梯折扣计算器 ");
System.out.println("=========================================");
System.out.print("请输入消费金额 (元): ");
double amount = scanner.nextDouble();
System.out.print("请输入会员等级 (1: 普通, 2: 黄金, 3: 钻石): ");
int memberLevel = scanner.nextInt();
// ===== TODO: 【实操任务 3 - 挖空 1】请在此补全代码 =====
// 提示: 使用 switch 表达式根据会员等级计算折扣率 (等级1为0.95,等级2为0.85,等级3为0.75,默认1.00)
//
// ============================================
// 满减优惠额外规则
double finalAmount = amount * discountRate;
// ===== TODO: 【实操任务 3 - 挖空 2】请在此补全代码 =====
// 提示: 满减优惠逻辑:折后满 500 元立减 50 元
//
// ============================================
System.out.println("-----------------------------------------");
System.out.printf(" * 原始金额 : %.2f 元\n", amount);
System.out.printf(" * 会员折扣 : %.0f %%\n", (1 - discountRate) * 100);
System.out.printf(" * 实付金额 : %.2f 元\n", Math.max(0, finalAmount));
System.out.println("=========================================");
}
}=========================================
商场购物阶梯折扣计算器
=========================================
请输入消费金额 (元): 600
请输入会员等级 (1: 普通, 2: 黄金, 3: 钻石): 2
-----------------------------------------
* 原始金额 : 600.00 元
* 会员折扣 : 15 %
* 实付金额 : 460.00 元
=========================================
不想公开提问?
关注公众号 数学思维探究社,后台发送“微积分+问题”,获取一对一解答。