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

本文深入探讨了Java的基础数据类型,包括整型、浮点型、字符型和布尔型,详细解释了它们的取值范围和使用场景。同时,结合实际面试题,解析了类型转换的常见问题和注意事项,帮助读者巩固Java数据类型的理解,并提升面试应对能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class Demo03 {
    public static void main(String[] args) {
        //整数扩展 二进制0b 十进制 八进制0 十六进制0x
        int i = 10;
        int i2 = 010;
        int i3 = 0x10;
        System.out.println(i);//10
        System.out.println(i2);//8
        System.out.println(i3);//6
        System.out.println("=========================");
        /*
        浮点数扩展:例如银行业务怎么表示?钱
        问题:浮点数字长有限,有舍入误差,结果是大约数,离散,大约,接近但不等于,最好完全避免使用浮点数进行比较
        解决:使用BigDecimal类,大数类型,数学工具类
      */
        float f = 0.1f;
        double d = 1.0 / 10;
        System.out.println(f);//0.1
        System.out.println(d);//0.1
        System.out.println(f == d);//false
        float d1 = 213213213213f;
        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
        System.out.println("========================");

        //编码Unicode   表:(97=a  65=A)  2字节  0-65536  ExceL 2 16=65536.
        //U0000 UFFFF
        char c3 = '\u0061';
        System.out.println(c3);//a
        System.out.println("=========================");

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


        //对象比较 ==
        // 思路:从内存分析
        String sa = new String();
        String sb = new String();
        System.out.println(sa == sb);//false

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

        String se = "hello world";
        String sf = "hello world";
        System.out.println(se == sf);//false

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

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值