java基础数据类型01

数据类型

进制

//整数拓展: 进制    二进制0b    十进制    八进制0    十六进制0x

int i = 10;
int i2 = 010;//八进制0
int i3 = 0x10;//十六进制0x

//浮点数拓展? 银行业务怎么表示,关于钱

//float ,double(有问题)1

        float f = 0.1f;//0.1
        double d = 1.0/10;//0.1
        System.out.println(f==d);
        System.out.println(f);
        System.out.println(d);
================================================
false
0.1
0.1

Process finished with exit code 0
 ### 问题2
        float d1 = 23131323332323323323f;
        float d2 = d1 + 1 ;
        System.out.println(d1==d2);
================================================
true

Process finished with exit code 0
        //float是接近但不等于的意思
        //最好完全避免浮点数进行比较
        //银行业务表示,用BigDecimal 数学工具类表示

字符拓展

 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);
================================================
a
97
中
20013
//所有的字符本质上还是数字
        //编码 Unicode 表:(97 =   65 = A  2字节)  0 - 65536
        char c3 = '\u0061';
        System.out.println(c3);// a

        //转义字符
        // \t 制表符
        // \n 换行
        System.out.println("hello\tworld");
        System.out.println("hello\nworld");

输出结果:
a
hello	world
hello
world

String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa==sb);

        String sc = "hello world";
        String sd = "hello world";
        System.out.println(sc==sd);
================================================
false
true

Process finished with exit code 0
内存分析

布尔值拓展

//布尔值拓展
        boolean flag = true;
        if(flag==true){} //新手
        //if(flag){} 老手
        //less is more,要精简容易读
posted @ 2021-05-26 10:44  颂溪庄  阅读(47)  评论(0)    收藏  举报