你的加里下雨了奥

导航

Day 05 Java数据类型拓展(部分)

Java基本数据类型的拓展

整型拓展

我们在日常生活中使用的整数大多数是十进制,计算机可以识别的数则是二进制,在学习Java和其他计算机语言时我们还接触到了八进制和十六进制,那么它们在Java中有什么区别呢?

public class Jz{
    public static void main(String[]args){
        // 二进制 0b;八进制 0;十进制  ;十六进制 0x
        int i1=0b10;
        int i2=010;
        int i3=10;
        int i4=0x10;
        System.out.println("i1="+i1);
        System.out.println("i2="+i2);
        System.out.println("i3="+i3);
        System.out.println("i4="+i4);          
    }
}

运行结果:

image-20220104220934862

浮点型拓展

  • Java中的浮点型是有限的,离散的,有舍入误差,大约,接近但不等于
  • 所以最好完全使用浮点数进行比较
public class Demo02 {
    public static void main(String[] args) {
        float f1=0.1F;
        double d1= 1.0/10;//根据数学常识来看f1=0.1=d1的
        System.out.println("f1="+f1);
        System.out.println("d1="+d1);
        System.out.println(f1==d1);//如果f1和d1相等则输出true否则输出false
    }
}

程序运行结果是

image-20220104231910241

显然输出的结果是false,说明f1和d1不相等

还有一个有趣的例子

public class Demo02 {
    public static void main(String[] args) {
    float f1=31414926535897626L;
    float f2=f1+1;
        System.out.println(f1==f2);//显然f1是不等于f2的这里的结果应该输出false
    }
}

程序运行结果:

字符拓展

  • 所有的字符本质上都是数字
  • 根据编码 Unicode表(a=97,A=65)
  • 每个字符占两个字节
public class Demo02 {
    public static void main(String[] args) {
        char a1='a';
        char a2='*';
        char a3='安';
        System.out.println("a1="+(int)a1+' '+a1);//(int)a1  强制类型转换
        System.out.println("a2="+(int)a2+' '+a2);
        System.out.println("a3="+(int)a3+' '+a3);
    }
}

程序运行结果为

image-20220104234452067

点击跳转详细视频

posted on 2022-01-04 23:48  风带不走的遗憾  阅读(26)  评论(0编辑  收藏  举报