动手动脑作业1,2

一、

仔细阅读示例: EnumTest.java,运行它,分析运行结果? 你能得到什么结论?你掌握了枚举类型的基本用法了吗?

答:1. 第一行输出结果为false,因为s和t分别引用了Size.SMALL和Size.LARGE两个不同的枚举常量,它们的值不相等。

2. 第二行输出结果为false,因为枚举常量不是基本类型。

3. 第三行输出结果为true,因为通过调用Size.valueOf("SMALL")方法将字符串"SMALL"转换为Size.SMALL枚举常量,并将其赋值给变量u。由于s和u引用了同一个枚举常量,所以输出结果为true。

4. 最后四行循环遍历Size枚举类型中的所有枚举常量,并将每个枚举常量输出一行。输出结果为:
SMALL
MEDIUM
LARGE

从这段程序的运行结果可以得出以下结论:

1. 枚举常量在使用时可以通过引用来比较它们的值是否相等。如果两个引用指向同一个枚举常量,则它们的值相等;如果两个引用指向不同的枚举常量,则它们的值不相等。

2. 枚举类型的对象不是基本类型。可以使用getClass().isPrimitive()方法来判断一个对象是否是基本类型,对于枚举常量而言,该方法返回false。

3. 可以通过调用valueOf()方法将字符串转换为枚举类型的常量。如果给定的字符串与枚举常量的名称匹配,则会返回相应的枚举常量。需要注意,valueOf()方法对于字符串大小写敏感。

4. 可以使用values()方法获取枚举类型中所有的枚举常量,并进行遍历和操作。

二、阅读相应教材,或者使用互联网搜索引擎,弄清楚反码、补码跟原码这几个概念,然后编写示例程序,对正数、负数进行各种位操作,观察输出结果,与手工计算的结果进行比对,看看Java中的数是采用上述哪种码表示的。

答:码表示是计算机中使用的一种数值表示方法,其中包括原码、反码和补码。原码、反码和补码的概念:

  • 原码:将正数和负数的符号位和数值位一起表示。正数的原码是其二进制表示,而负数的原码是将其绝对值的二进制表示中的符号位改为1。
  • 反码:正数的反码就是其原码,而负数的反码是将其绝对值的二进制表示中的符号位不变,其余各位取反。
  • 补码:正数的补码就是其原码,而负数的补码是将其反码加1。在示例程序中,首先打印了正数和负数的原码、反码和补码。然后,我们进行了一些位操作,包括位与、位或、位异或、位取反、左移和右移。最后,我们打印了位操作的结果。通过运行这个程序,我们可以观察到Java中的数值是采用补码来表示的。对于正数来说,其原码、反码和补码都是一样的。而对于负数来说,其原码为其绝对值的二进制表示中的符号位改为1,反码为将原码的符号位不变,其他位取反,补码为反码加1。

 

posted @   恋恋恋白  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示