动手动脑以及课后问题的实践

(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的输出语句中,+号既能起到连接字符串的作用,也能起到四则运算的作用,所以从左往右进行计算,遇到字符串便连接,遇不到就加减。

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