10月8日

在本次的Java课程学习中,我通过一系列动手动脑问题和课堂测试,深入理解了Java编程的核心概念。本文将系统整理这些学习内容,分享我的学习心得和代码实现。
动手动脑问题分析
public class MethodOverload{
public static void main(String[] args) {
System.out.println("The square of integer 7 is " + square(7));
System.out.println("\nThe square of double 7.5 is " + square(7.5));
}
public static int square(int x) {
return x*x;
}
public static double square(double y){
return y * y;
}
}

  1. 方法签名的重要性
    • 方法重载基于方法签名(方法名+参数列表)
    • 返回值类型不参与重载决策
  2. 编译时多态
    • 编译器在编译阶段确定调用哪个重载方法
    • 基于参数的类型和数量进行静态绑定
  3. 类型转换与重载优先级
    • 精确匹配 > 自动类型转换 > 装箱拆箱
    • square(7) 优先匹配 int 版本
      四则运算课堂测试系统
  • 随机生成30道四则运算题目
  • 支持加减乘除四种运算
  • 操作数为0-100之间的整数
    使用题目哈希去重
    private Set questionSet = new HashSet<>();
    private String generateUniqueQuestion() {
    String question;
    do {
    question = generateQuestion();
    } while (questionSet.contains(calculateHash(question)));
    questionSet.add(calculateHash(question));
    return question;
    }
    减法约束:确保无负数
    private int[] generateSubtractionNumbers() {
    int num1 = random.nextInt(101);
    int num2 = random.nextInt(num1 + 1); // 确保num2 <= num1
    return new int[]{num1, num2};
    }
    乘法约束:结果不超过四位数
    private int[] generateMultiplicationNumbers() {
    int num1, num2;
    do {
    num1 = random.nextInt(100);
    num2 = random.nextInt(100);
    } while (num1 * num2 >= 10000);
    return new int[]{num1, num2};
    }
    除法约束:必须整除
    private int[] generateDivisionNumbers() {
    int num2 = random.nextInt(99) + 1; // 避免除数为0
    int result = random.nextInt(50) + 1;
    int num1 = num2 * result;
    return new int[]{num1, num2};
    }
    通过本次系统的学习和实践,我掌握了Java编程的基本语法,培养了解决实际问题的能力。方法重载让我理解了面向对象编程的多态特性
posted @ 2025-10-08 17:27  真手凛  阅读(11)  评论(0)    收藏  举报