Java基础(数据类型拓展及面试题讲解)

数据类型拓展及面试题


public class Demo02 {
    public static void main(String[] args) {
        //整数拓展: 进制  二进制0b   十进制进    八进制0    十六进制0x

        int i = 10;
        int i2 = 010;//八进制0
        int i3 = 0x10;//十六进制ex  0~9 A~F 16

        System.out.println(i);//结果:10
        System.out.println(i2);//结果:8
        System.out.println(i3);//结果:16
        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
        System.out.println(f);
        System.out.println(d);

        float d1 = 23131312312312313f;
        float d2 = d1 + 1;

        System.out.println(d1==d2);//结果:true


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

        System.out.println(c1);
        System.out.println((int)c1);//强制换行
        System.out.println(c2);
        System.out.println((int)c2);//强制换行

        //所有字符的本质还是数字
        //编码 Unicode 表:(97 = a   65 = A) 2字节   0 - 65536   Excel    2的16次方 = 65536
        //区间范围: U0000  UFFFF

        System.out.println("================================");
        char c3 = '\u0061';//Unicode正常的编码表示方式

        System.out.println(c3);//结果:a

        //转义字符
        // \t   制表符
        // \n   换行
        // ......
        System.out.println("================================");
        System.out.println("Hello\tWorld");

        //对象    从内存分析
        System.out.println("================================");
        String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa==sb);//结果:false

        String sc = "hello world";
        String sd = "hello world";
        System.out.println(sc==sd);//结果:true


        //布尔值扩展
        boolean flag = true;
        if(flag==true){}    //新手
        if(flag){}  //老手
        //Less is More!  代码要精简易读
    }
}
posted @ 2021-02-07 16:32  Cozy-xy  阅读(35)  评论(0)    收藏  举报