java作业
要求做几道练习题,体会java一些比较细的知识点
1.
• 第一行输出false是因为这行代码比较两个枚举变量s和t是否引用同一对象。s被赋值为Size.SMALL,而t被赋值为Size.LARGE。由于它们引用不同的枚举实例,所以输出为false。
• 第二行输出false是因为这行代码首先通过s.getClass()获取s的类对象,即Size类。然后调用isPrimitive()方法检查这个类是否是Java的原始数据类型(如int, double等)。枚举类型不是原始数据类型,因此下···输出为false。第三行输出true是因为s和u引用同一个枚举常量SMALL。
• 最后三行输出枚举Size的所有值,分别是SMALL、MEDIUM和LARGE。
• 你能得到什么结论?你掌握了枚举类型的基本用法了吗?
- 枚举的唯一性:每个枚举常量在Java中是唯一的,即使多次引用,它们都指向内存中的同一个实例。这可以通过使用==操作符来验证。
- 枚举不是原始数据类型:枚举类型是类类型,它们不是Java的原始数据类型(如int、double等)。
- 枚举的比较:使用==操作符比较枚举变量时,比较的是它们引用的对象是否相同,而不是它们的值。
- 枚举的创建和管理:枚举提供了一种类型安全的方式来定义一组固定的常量。它们可以包含字段、方法和构造函数,提供了丰富的功能。
- 枚举的遍历:可以使用values()方法获取枚举的所有值,这在需要处理枚举所有可能值的场景中非常有用。
- 枚举的字符串表示:可以使用valueOf()方法根据字符串名称获取对应的枚举常量,这在从外部数据源(如配置文件)解析枚举值时非常有用。
- 枚举的序列化:枚举是可序列化的,这意味着它们可以被写入或读取到流中,这对于网络通信和数据持久化是重要的。
在Java中,当你看到这样的输出,原因在于浮点数的表示和计算。
Java使用IEEE 754标准来表示浮点数,该标准定义了浮点数的存储方式。在这种表示法中,并不是所有的小数都能精确表示为二进制形式。当一个十进制数无法精确转换为二进制时,它会被表示为最接近的二进制近似值。这就导致了当你进行浮点数运算时,可能会得到一个非常接近但不完全精确的结果。
按要求编写代码:
一家软件公司程序员二柱的小孩上了小学二年级,老师让家长每天出30道四则运算题目给小学生做。
我编写的Java代码如下: