Java基础数据类型及面试题拓展

这篇博客详细介绍了Java的基础数据类型,包括整形(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。文章通过实例演示了整数与浮点数的表示,以及浮点数可能存在舍入误差的问题。此外,还讨论了字符的Unicode编码和布尔值的使用规范。
摘要由CSDN通过智能技术生成

Java基础数据类型

整形

  • byte 占1字节 ,范围 -128 —— 127

  • short 占2字节 ,范围 -32768—— 32767

  • int 占4字节 ,范围 -21亿 —— 21亿 (最常用

  • long 占8字节 ,范围 很懒得数,比int还多

浮点型

  • float 占4字节
  • double 占8字节

字符类型

  • char 占2字节

布尔类型

  • boolean 占1位 1字节 = 8位

面试拓展

整数与浮点数

public class Demo4 {
    public static void main(String[] args) {
       //面试拓展   二进制0b    八进制0    十进制      十六进制0x


        int a1 = 0b10;  //二进制 2
        int a2 = 010;  //八进制 8
        int a3 = 0x10; //十六进制 16
        System.out.println("a1:"+a1);
        System.out.println("a2:"+a2);
        System.out.println("a3:"+a3);

        System.out.println("========================");
        System.out.println(a1+1);
        System.out.println(a2+1);
        System.out.println(a3+1);

        System.out.println("================================================");


        //浮点数拓展:
        //面试题:银行业务字母怎么表示钱?BigDecimal
        //float double 是有问题的,最好要避免使用数比较。
        float f1 = 0.1f;  //0.1
        double d1 = 1.0/10;  //0.1
        System.out.println(f1==d1); //false
        //浮点数   位有限,舍入误差,会约等

        float f3 =454545454454f;
        float f4 = f3+1;
        System.out.println("================================================");
        System.out.println(f3==f4);//true



    }
}

字符与布尔值

public class demo5 {
    public static void main(String[] args) {
        //字符拓展:所有字符本身还是数字
        char c1 ='a';
        char c2 ='中';
        System.out.print("c1=");
        System.out.println((int)c1); //强制转换为int类型  值 97
        System.out.print("c2=");
        System.out.println((int)c2);//强制转换为int类型  值 20013

        //编码 Unicode表(97=a,65=A)2字节 0-65536
        //U000~UFFFF 十六进制(u0061=a,相当于十进制的97)
        System.out.print("u0061=");
        System.out.println("\u0061");


        System.out.println("================================================");


        //布尔值拓展
        boolean flag = true;

        //这两个表达的意思一样
        if (flag){}//新手
        if (flag==true){}//老手这样写 Less is More(代码要精简易读)



    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值