JAVA

Java语法基础课程动手动脑与课后实验问题整理

一、编程思维与项目分解相关

动手动脑

1. 结合“愚公移山”故事,分析其中体现的编程核心逻辑(顺序、分支、循环),说明“子子孙孙无穷匮也”对应循环结构、“山不加增”对应循环终止条件的具体含义。
2. 针对“稿件管理系统”的分解过程,思考是否还能对现有分解(如 addManuscript() 方法中的录入校验、 reviewManuscript() 中的状态修改)进一步拆分,并说明拆分的目的和优势。
3. 按照“分解—识别模式—抽象—算法”的编程思维步骤,尝试重新拆解课前测试题,写出至少3个核心功能模块及对应子步骤。

二、Java语法基础相关

动手动脑

1. 运行 EnumTest.java 程序,观察枚举类型的输出结果,总结枚举类型的特性(是否为引用类型、相同值是否引用同一对象、 == 与 equals() 是否等价)。
2. 阅读教材或搜索资料,理解原码、反码、补码的概念,编写程序对正数(如 5 )和负数(如 -5 )进行位运算(与、或、异或、左移、右移),对比手工计算结果与程序输出,判断Java中数值采用哪种编码表示。
3. 分析以下代码的输出结果,并解释“同名变量屏蔽原则”:

java

public class Test {
private static int value = 1;
public static void main(String[] args) {
int value = 2;
System.out.println(value);
}
}

4. 运行 TestDouble.java 程序,观察 0.05+0.01 、 1.0-0.42 等运算的输出结果,思考为何double类型计算会出现精度问题,结合浮点数在计算机中的存储原理解释原因。
5. 分析以下代码的输出结果,说明字符串拼接中 + 运算符的执行顺序:

java

int X = 100;
int Y = 200;
System.out.println("X+Y=" + X + Y);
System.out.println(X + Y + "=X+Y");

6. 观察Java数据类型转换图,结合各类型所占位数(如byte占8位、int占32位)和数值范围,总结“无精度损失”和“有精度损失”的类型转换规则。

课后实验

1. 编写程序,使用两种方式实现用户输入读取:

  • 方式一:用 JOptionPane.showInputDialog() 获取两个整数,计算并通过 JOptionPane.showMessageDialog() 输出求和结果;
  • 方式二:用 Scanner 类获取用户输入的姓名和年龄,打印“Hello,[姓名]!你今年[年龄]岁”。
    2. 编写程序验证变量作用域:在类的成员变量、 main 方法内、 if 语句块内分别定义同名变量(如 int num ),依次赋值并打印,观察不同作用域下变量的生效范围。
    3. 使用 BigDecimal 类解决浮点数精度问题:分别以 double 类型和 String 类型为参数创建 BigDecimal 对象,实现 0.05 与 0.01 的加、减、乘、除运算,对比两种参数方式的结果差异,说明为何推荐用 String 参数。
    4. 实现自动生成6位验证码的程序(参考 RandomStr.java 思路):验证码包含大小写字母和数字,每次运行生成不同的验证码并打印,要求代码中体现类型转换(如将字符ASCII码转为字符)。

三、基础语法概念理解相关

动手动脑

1. 回答以下Java语法基础问题,并举例说明:

  • Java的基本运行单位是类还是方法?
  • 类由哪些部分组成(如属性、方法等)?
  • 变量有哪些类型?不同类型间能否转换?浮点数转换时需注意什么?
  • String 是原始数据类型还是引用类型?
  • static 关键字的含义,用代码示例说明静态变量/方法的使用特点。
    2. 按照Java标识符规范,判断以下名称是否合法并说明原因: 123name 、 _userAge 、 $salary 、 if 、 MAX_SCORE 、 getUserInfo 。
    3. 在Java 7及以上环境中,编写代码验证“下划线分隔整数”特性:定义 int num1 = 1_000_000 和 int num2 = 1000000 ,判断 num1 == num2 的结果,并用 NumberFormat 格式化 num1 输出。

课后实验

1. 编写程序实现“小学生四则运算题目生成器”:每次运行生成30道100以内的四则运算题(加减乘除随机,除法保证整除),题目不重复,将题目按顺序打印,如“15 + 23 = ”“88 ÷ 8 = ”。
2. 定义一个 Constants 类,其中包含不同访问权限的常量(如 public static final int MAX_SIZE = 100 、 private static final String DEFAULT_NAME = "test" ),在另一个类中尝试调用这些常量,观察不同访问权限的影响,总结常量定义规范。

posted @ 2025-09-28 07:07  莫才  阅读(11)  评论(0)    收藏  举报