EnumTest.java运行结果

image

结论

  1. 枚举中的每个常量都是唯一实例,可用 == 直接比较(equals()same)
  2. 不属于基本数据类型
  3. valueOf 方法:通过字符串名称获取对应的枚举常量
  4. 使用 enum 关键字定义,常量之间用逗号分隔,结尾可加分号
  5. 通过 values 遍历所有常量
    image

输入2,3
image

输入方法

  1. 使用JOptionPane类的showInputDialog方法。
    String firstNumber = JOptionPane.showInputDialog(“Enter :" );
    2.使用Scanner类
    image
    image

使用double类型的数值进行计算, 其结果是不精确的
double 类型无法得到精确结果,本质是二进制存储的有限性与十进制小数的无限性之间的矛盾:

  1. 多数十进制小数无法用有限二进制小数表示,只能近似存储;
  2. 有限的存储位数(53 位精度)进一步限制了表示范围;
  3. 运算时近似值的误差会累积,导致结果偏离数学精确值。
    若需高精度计算(如金融、科学计算),应使用专门的高精度类(如 Java 的BigDecimal),而非原生 double 类型。
    image

double的二进制存储是 “近似值”,无法精确表示多数十进制小数;
BigDecimal(double)会直接继承double的近似值,从根源上引入误差;
字符串构造器直接解析十进制字面量,避免了二进制转换的精度损失。
若无法避免用double作为输入(如数据来源是double变量),可先将double转换为字符串,再用字符串构造BigDecimal,或使用BigDecimal.valueOf(double)(内部会先调用Double.toString()转成字符串)
image

结论
+运算符的行为遵循 “左结合性”:
若左侧是字符串,+作为连接符,将右侧数据转为字符串后拼接
若两侧都是数值类型,+作为算术运算符,先计算结果再处理后续操作

``

posted on 2025-09-27 20:15  douzishuo  阅读(9)  评论(0)    收藏  举报