课堂作业2-动手又动脑

一.

  1. 枚举定义
    enum Size{SMALL,MEDIUM,LARGE};
    定义了包含三个枚举常量的Size枚举类型。
  2. 主要测试逻辑
    引用比较测试
    java
    Size s=Size.SMALL;
    Size t=Size.LARGE;
    System.out.println(s==t); // false
    输出:false
    原因:s和t引用不同的枚举常量对象
    原始类型检查
    System.out.println(s.getClass().isPrimitive()); // false
  • 输出:false
  • 原因:枚举不是原始数据类型,而是引用类型
    字符串转换测试
    Size u=Size.valueOf("SMALL");
    System.out.println(s==u); // true
  • 输出:true
  • 原因:valueOf()方法返回的是同一个枚举常量对象
    遍历所有值
    for(Size value:Size.values()){
    System.out.println(value);
  • 输出:SMALL、MEDIUM、LARGE(每行一个)
  • values()方法返回枚举的所有常量数组
    二、
    根据代码分析,第一次输出结果为x+y=100200,第二次输出结果为300=x+y。
    首先,运算符+作为加法运算符时优先级高于字符串操作的+。
    因此输出结果是由于输出字符串时+的判断造成的。
    第一次由于字符串在前,编译器判别输出的语句是几个相加的字符串,因此后续判别为字符串操作的+。
    第二次输出先出现了两个变量相加,由于操作符优先级,编译器判别它为算数操作。
    所以我们在编写代码时应该注意+的运算,避免造成输出错误,如若需输出x+y的值,我们可以在它们的外面加上括号。
posted on 2025-09-28 08:44  杨野  阅读(6)  评论(0)    收藏  举报