2021-03-28

这篇博客探讨了Java中的数据类型拓展,包括整数的二进制、八进制和十六进制表示,浮点数的精度问题以及避免浮点数比较的建议。还涉及字符和字符串的表示,并提醒了在进行浮点数运算和比较时的潜在误差。此外,文章提到了字符串对象的内存分析和布尔值的简洁表达方式。
摘要由CSDN通过智能技术生成

数据类型拓展

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  16
        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);//float
        System.out.println(f);
        System.out.println(d);
        System.out.println("====================================");


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

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


        //==========================================
        //字符拓展?
        //==========================================
        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

        char c3 = '\u0061';

        System.out.println(c3);//a

        //转义字符
        //、t   制表符
        //、n   换行
        //..... 需要课下了解

        System.out.println("Hello\tWorld");

        System.out.println("Hello\nWorld");


        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!  代码要精简易读
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值