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的值加上后边的引号里面的内容。

  • 相关阅读:
    批量插入测试脚本
    Show Profile分析sql语句的资源消耗
    慢查询日志
    ORDER BY优化
    Join查询
    Explain(执行计划)分析
    索引
    MySQL中的DML(数据操作语言)和DQL(数据查询语言)
    MySQL中的DDL(数据定义语言)和DCL(数据控制语言)
    MySQL架构体系介绍
  • 原文地址:https://www.cnblogs.com/xk1013/p/11569135.html
Copyright © 2011-2022 走看看