数据类型拓展

public class Demo03 {
    public static void main(String[] args){
        //整数拓展:  进制  二进制0b 八进制0 十进制 十六进制0x
        int i = 10;
        int i2 = 010; //八进制的以0开头
        int i3 = 0x10; //十六进制以0x开头  0~9 A~F

        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("==================================");

        //=======================================================================
        //浮点数拓展   银行业务怎么表示钱?
        //BigDecimal  数学工具类
        //=======================================================================
        //float  有限  离散   舍入误差  大约 接近但不等于
        //double
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        float f = 0.1F;  //0.1
        double d = 1.0/10; //0.1
        System.out.println(f==d); //false

        float d1 = 21232323242322434f;
        float d2 = d1 + 1;
        System.out.println(d1==d2); //true

        //=======================================================================
        //字符拓展
        //=======================================================================
        System.out.println("==================================");
        char c1 = 'a';
        char c2 = '中';

        System.out.println(c1);      //输出 a
        System.out.println((int)c1); //强制转换,输出97
        System.out.println(c2);      //输出 中
        System.out.println((int)c2); //强制转换,输出20013
        //所有的字符本质还是数字
        //编码 Unicode表:(97=a,65=A)  2字节  65536字符 2^16 = 65536

        //U0000  UFFFF
        char c3 = '\u0061';
        System.out.println(c3); //输出a
        //转义字符
        // \t 制表符
        // \n 换行
        // ...
        System.out.println("Hello\nWorld");

        // -----------
        //对象 从内存分析
        System.out.println("==================================");
        String sa = new String("HelloWorld");
        String sb = new String("HelloWorld");
        System.out.println(sa==sb); //输出false

        String sc = "HelloWorld";
        String sd = "HelloWorld";
        System.out.println(sc==sd);//输出true

        //布尔值(Boolean)拓展
        boolean flag = true;
        if(flag == true){}
        if(flag){}         //这两行代码一样
        //Less is More! 代码要精简易读
    }
}

posted @ 2022-09-03 17:43  TangoVer  阅读(7)  评论(0编辑  收藏  举报