动手动脑以及课后问题的实践
(1)枚举类型的动手动脑
代码:public static void main(String[ ] args){
Size s=Size.SMALL;
Size t=Size.LARGE;
System.out.println(s==t);
System.out.printfln(s.getClass().isPrimitive());
Size u=Size.valueof("SMALL")
System.out.println(s==u);
for(Size value:Size.values(){
System.out.println(value);}}}
enum Size{SMALL,MEDIUM,LARGE};
运行截图:
我们可以发现;java中的enum枚举类型是不能直接用=来赋值的,并且通过函数输出的false我们也知道了,enum是引用类型,不是原始数据类型,它的每一个具体值都引用一个特定的对象。相同的值则引用相同的对象。可以使用==和equals()来直接比对枚举变量的值。
(2)数据加减的动手动脑
代码:
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));
}}
运行截图:

可以看到结果并没有我们想象中的精确,这是为什么呢?
通过查阅资料,我发现了是二进制和十进制之间的转换造成了这个问题。计算机进行的是二进制运算,我们输入的十进制数字会先转换成二进制,进行运算后再转换为十进制输出。所以造成了误差。
(3)动手动脑
代码:
int X=100; int Y=200; System.out.println("X+Y="+X+Y); System.out.println(X+Y+"=X+Y");
运行截图:
为什么会出现这种情况捏?在printf的输出语句中,+号既能起到连接字符串的作用,也能起到四则运算的作用,所以从左往右进行计算,遇到字符串便连接,遇不到就加减。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用