zoukankan      html  css  js  c++  java
  • 动手又动脑

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

    运行结果:

    false
    false
    true
    SMALL
    MEDIUM
    LARGE

    第一个输出是判断s和t是否相等,不相等所以是false

    第二是输出是判断是否是原始类型,不是原始类型所以是false

    第三个输出判断是否从字符串转换,所以是true

    最后是从小到中在到达循环输出所以是SMALL
                                                               MEDIUM
                                                               LARGE

    2.

    0.05 + 0.01 = 0.060000000000000005
    1.0 - 0.42 = 0.5800000000000001
    4.015 * 100 = 401.49999999999994
    123.3 / 100 = 1.2329999999999999

    面对这样的输出很意外。

     原因:

    在java中在十进制与二进制的转换过程中存在一些数据类型占用位数的问题(double类占用64位)。而且在二进制中最高位有的时候表示正负号,但有时也会是真实的数值,有时64位并不能把我们要写的数准确的表达出来,因此才会出现问题。

    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的值。而x+y+表示x的值+y的值加上后边的引号里面的内容。

  • 相关阅读:
    centos 8.5设置nginx开机自动启动
    python利用Faker模块造测试数据(转载)
    结构化分析建模
    关于使用com.anjiplus依赖实现的验证码功能在linux服务器上失效的问题
    vue 子组件提交接口,父组件刷新数据
    vue 全局钩子:路由守卫
    Scala函数式编程基础
    Flink
    Scala面向对象编程
    Scala运算符
  • 原文地址:https://www.cnblogs.com/xk1013/p/11569135.html
Copyright © 2011-2022 走看看