0
点赞
收藏
分享

微信扫一扫

Java基础04:数据类型扩展及面试题讲解

一、整数

public class Demo03 {
    public static void main(String[] args) {

        //整数拓展    进制    二进制0b    十进制    八进制0    十六进制0x
        int i = 10;
        int i2 = 010;   //八进制
        int i3 = 0x10;    //十六进制0x 0-9 A-F

        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
    }
}

运行结果

10
8
16

二、浮点数

public class Demo03 {
    public static void main(String[] args) {
        //浮点数拓展?    银行业务怎么标识?钱
        //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 = 231212112121112f;
        float d2 = d1 + 1;

        System.out.println(d1==d2);

    }
}

运行结果:

false
0.1
0.1
true

三、字符

1.

public class Demo03 {
    public static void main(String[] args) {

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

        //所有的字符本质上还是数字
        //编码 Unicode 2字节  65536  Excel 2 16 = 65536

        // U0000 UFFFF
        char c3 = '\u0061';

        System.out.println(c3);

        //转义字符
        // \t
    }
}

运行结果

a
97
中
20013
a
Hello	World

四、扩展

public class Demo03 {
    public static void main(String[] args) {

        System.out.println("===========================================================================");
        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);
        //对象  从内存分析

        //布尔值扩展
        boolean flag ==true;
        if (flag--true){}    //新手
        if (flag){}    //老手
        //Less is More!     代码要精简

    }
}

运行结果

false
true

思考,为什么一个前面一个结果是假,后面一个结果是真?

举报

相关推荐

0 条评论