java基础作业_Java语言基础作业

本文探讨了Java枚举类型的基础用法,通过示例展示了如何比较枚举值,强调了'=='与equals()在枚举中的等效性。此外,深入剖析了浮点数运算的精度问题,解释了double类型为何无法提供精确计算,并给出了位操作示例。还解析了原码、反码和补码概念。最后,通过代码实例展示了加减乘除运算的输出和背后的原理。
摘要由CSDN通过智能技术生成

动手动脑1:

问题1:   仔细阅读示例: EnumTest.java,运行它,分析运行结果?

源代码:

a6e24614f7649e5e4b3e6fd1f98ccc10.png

运行结果

c6bb43e7f139f4d37e0c7d0073963d0d.png

问题2:你能得到什么结论?你掌握了枚举类型的基本用法了吗?

枚举类型是引用类型。枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。

课后练习:

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

原码:原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值.

反码:正数:正数的反码是其本身。负数:负数的反码是在其原码的基础上, 符号位不变,其余各个位取反。

补码:正数的补码就是其本身。负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)。对于负数, 补码表示方式也是人脑无法直观看出其数值的. 通常也需要转换成原码在计算其数值.

动手动脑2

为什么double类型的数值进行运算得不到“数学上精确”的结果?

float 和double类型主要是为科学计算和工程计算而设计的,他们执行二进制浮点运算,这两种类型在计算机中的储存分为三部分:符号位、指数为、尾数部分。数据以二进制存储在计算机时,会出现无线循环系列,在数据转化中会出现错误。十进制不能准确的表示1/3,同样二进制不能精确的表示1/10。

动手动脑3

以下代码的输出结果是什么?

int X=100;

int Y=200;

System.out.println("X+Y="+X+Y);

System.out.println(X+Y+"=X+Y");

输出结果:

X+Y=100200

300=X+Y

为什么会有这样的输出结果?

第一句输出中“+”连接字面量,计算结果是将X和Y将两数据连接。

语句二输出中“+”是运算符,计算结果是对X和Y求和。

课后作业:

编写一个程序,用户输入两个数,求出其加减乘除,并用消息框显示计算结果。

源代码:

55f6dc3981f290ec9df11fc2bca8013c.png

运行结果:

b4b0f4b5e6a1145f34034fa3a48b11e9.png

79ba654e0758174b1844a690c769e01b.png

6950d2d40ff01bec855ca9dba5229cbe.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值