• 动手动脑_1


    以下代码的输出结果是什么?

    int X=100; i

    nt Y=200;

    System.out.println("X+Y="+X+Y);

    System.out.println(X+Y+"=X+Y");

    为什么会有这样的输出结果?

    结果:

    X+Y=100200
    300=X+Y

    加号的结合性是从做到右的,所以第一个x当做字符串输出,第二个由于是两个整数相连,执行选择高于字符串,所以先计算加法

    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);
    }

    结果:

    false 引用的不是同一个对象
    false 不是基本类型,只有八个基本类型boolean、char、byte、short、int、long、float、double
    true  valueOf和toString函数的用法很像,返回的是Size.SMALL
    SMALL
    MEDIUM
    LARGE

    浮点数在计算机中是以二进制数的形式存放的,科学计数法的形式表示的 但是计算机在计算机中无法精准的表示0.1,只能是无限的靠近就出现了精度损失的问题

    double 的表示形式

    在这里插入图片描述
    在这里插入图片描述

    • 同理这个和上面的是一样的。
    实际上这个1.M表示的是比如1000.111这个数,小数点移动位为1.000111,在754标准下存储为000111位数,这么做相当于是能够多保存一位,所以float可以保存的尾数是24位(23),double为53位而不是(52)。
  • 相关阅读:
    Python学习——Python线程
    Python学习——异常处理
    Python学习——python的常用模块
    Python学习 ——正则表达式
    Python学习——迭代器&生成器&装饰器
    Python学习——内置函数
    Python学习——深浅拷贝
    Python学习——collections系列
    反编译字节码角度分析synchronized关键字的原理
    谈谈数据库隔离级别
  • 原文地址:https://www.cnblogs.com/blog-wangke/p/13752334.html
Copyright © 2020-2023  润新知