作业

动手动脑

image

运行结果分析:首先创建了一个枚举类,里面有枚举类的三个实例对象,Myenum.values()返回的是一个数组,循环变量me是Myenum的一个临时对象,依次表示数组中的每个枚举常量,System.out.println(me);默认使用me.name(),打印出枚举常量名称;
得到的结论:枚举对象的实例定义在枚举类中,且枚举常量是固定且不可变的,不可以在枚举类外创建新的对象,因为枚举类的构造函数是私有的.
枚举类型基本用法:.name(),返回枚举常量名称..ordinal(),返回枚举常量索引..values(),返回枚举常量数组..valueOf(String name),根据输入,返回枚举常量.
枚举与switch的结合:
image

动脑动手
原码:直接表示数字的符号和绝对值。最高位为符号位(0 表示正数,1 表示负数),其余位表示数值的绝对值。
反码:正数的反码与原码相同;负数的反码是对原码(除符号位外)按位取反。
补码:正数的补码与原码相同;负数的补码是其反码加 1(解决原码 / 反码中 “0 有两种表示” 的问题,便于计算机运算)。
image

动脑动手
Java 中 “同名变量的屏蔽原则”(也称为变量的作用域屏蔽)。该原则指:在嵌套的作用域中,如果内层作用域定义了与外层作用域同名的变量,内层变量会 “屏蔽” 外层变量,即访问该变量时优先使用内层定义的值。
image

动手实验
image

动手动脑
整数类型:byte(8 位)→ short(16 位)→ int(32 位)→ long(64 位),位数递增,范围依次扩大,转换时不会丢失数据。
字符类型:char(16 位,无符号)可自动转换为int(32 位),因int范围完全覆盖char的取值范围(0~65535)。
浮点类型:float(32 位)→ double(64 位),位数增加,精度更高,转换无损失。
范围小的类型可自动转换为范围大的类型(无损失);反之必须强制转换(可能损失精度或溢出)。

动手动脑
image

原因:在JAVA中字符串拼接时,遵循从左到右的原则,并且不同数据遇到字符串自动转为字符串类型.在上述代码中第一个输出语句,x+y先算,因为还没有遇到字符串,此时还为整数类型,先进行计算,第二个,x+y已经是字符串类型,后续的x+y自动转为字符串类型.但是可以通过加括号来避免这种情况.
带着疑问看故事
image

这个代码的两点是我运用了刚学的枚举类.

posted @ 2025-09-28 01:07  鲁国石玉峰  阅读(14)  评论(0)    收藏  举报