动手动脑的问题以及课后实验性的问题2023.9.15
一、问:1、仔细阅读示例:EnumTest.java,运行它,分析运行结果
2、你能得到什么结论?你掌握了枚举类型的用法了吗?
答:源代码:
public class EnumTest {
public static void main(String[] args) {
Size s=Size.SMALL;
Size t=Size.LARGE;
//s和t引用同一个对象?
System.out.println(s==t); //
//是原始数据类型吗?
System.out.println(s.getClass().isPrimitive());
//从字符串中转换
Size u=Size.valueOf("SMALL");
System.out.println(s==u); //true
//列出它的所有值
for(Size value:Size.values()){
System.out.println(value);
}
}
}
enum Size{SMALL,MEDIUM,LARGE};
运行结果为:
false
false
true
SMALL
MEDIUM
LARGE
进程已结束,退出代码为 0
values() | 该方法可以将枚举类型成员以数组的形式返回 | 枚举类型名称.values() |
valueOf() | 该方法可以实现将普通字符串转换为枚举实例 | 枚举类型名称.valueOf("ABC") |
第一条输出语句是判断了对象s、t是否引用相同的对象;第二条输出语句是判断s是否是原始数据;第3、4、5条输出语句是输出引用的对象。
结论:枚举类型安全,具有紧凑有效的数据定义,可以和程序其他部分完美交互,运行效率高。对于枚举类型的运用更加熟练了。枚举类型可以用”==“判断
二、问:阅读相应教材,或者使用互联网搜索引擎,弄清楚反码、补码跟原码这几个概念,然后编写示例程序,对正数、负数进行各种位操作,观察输出结果,与手工计算的结果进行比对,看看Java中的数是采用上述哪种码表示的。
答:反码:反码是数值存储的一种,多应用于系统环境设置,如linux平台的目录和文件的默认权限的设置umask,就是使用反码原理。在计算机内,定点数有3种表示法:原码、反码和补码。
原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小;
三、问:Java变量遵循“同名变量的屏蔽原则”,请课后阅读相关资料弄清楚相关知识,然后自己编写-些测试代码,就象本示例- -样,有意识地在不同地方定义一些同名 变量,看看输出的到底是哪个值。
答:每个变量都有一个”有效“的区域(称为”作用域“),出了这个区域,变量将不再有效
四、问:
答:源代码:
public class TestDouble {
public static void main(String args[]) {
System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
System.out.println("4.015 * 100 = " + (4.015 * 100));
System.out.println("123.3 / 100 = " + (123.3 / 100));
}
}
输出结果:
0.05 + 0.01 = 0.060000000000000005
1.0 - 0.42 = 0.5800000000000001
4.015 * 100 = 401.49999999999994
123.3 / 100 = 1.2329999999999999
进程已结束,退出代码为 0
结论:说明数据类型转换之后有时会丢失精度,有时会与原来的结果不同。
五、问:
答:第一条语句的输出结果是:X+Y=100200
第二条语句的输出结果是:300=X+Y
第一行语句相当于是作为字符串输出数据,并没有进行运算,第二行语句则是先运算再输出字符串
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本