JAVA语法基础》动手动脑与实验问题全整理

一、枚举类型(Enum)

· 核心问题:枚举是基本数据类型还是引用类型?
· 验证方法:使用和equals()比较枚举值。
· 结论:枚举是引用类型,但相同值的枚举变量指向同一个对象,因此
和equals()比较结果相同。

二、变量屏蔽原则

· 核心问题:局部变量与成员变量同名时,访问的是哪一个?
· 结论:Java遵循“就近原则”,局部变量会屏蔽同名的成员变量。

三、类型转换与精度损失

  1. 浮点数精度问题
    · 现象:2.0 - 1.1的结果不是0.9,而是0.8999999999999999。
    · 原因:某些十进制小数在二进制中无法精确表示。
    · 解决方案:使用BigDecimal类,并且必须使用字符串构造。
  2. 字符串连接陷阱
    · 代码:
    System.out.println("X+Y="+X+Y);  // 输出 "X+Y=100200"
    System.out.println(X+Y+"=X+Y");  // 输出 "300=X+Y"
    
    · 结论:+运算符从左到右计算,遇到字符串后后续操作变为字符串连接。

四、二进制、位运算与补码

· 核心问题:Java中整数是如何在计算机中表示的?
· 结论:Java中的整数采用二进制补码形式表示,这使得加减法运算统一,且能够自然处理负数。

五、运算符优先级

· 典型错误:a + b + c / 3 是错误的求平均值方式。
· 正确写法:(a + b + c) / 3。
· 建议:不确定优先级时,多用括号。

六、验证码生成(课后作业3)

· 任务:编写程序自动生成六位随机验证码。
· 关键方法:使用Math.random()生成随机数,并进行类型转换。
· 知识点:随机数生成、循环控制、字符拼接。


💡 学习总结与建议

  1. 编程思维:理解“分解-模式识别-抽象-算法”的思维方式比掌握语法更重要。
  2. 重视基础:类型系统、运算符优先级、变量作用域等是Java编程的基石。
  3. 实践出真知:所有“动手动脑”问题都要求通过编码验证,这是掌握知识的最佳途径。
posted @ 2025-10-08 17:59  高子轩  阅读(6)  评论(0)    收藏  举报