Java基础知识(二)

    技术2022-07-10  153

    Java基础知识(二)

    数据类型

    (1)基本数据类型:8大基本类型

    //整数型 byte num1 = 10; short num2 = 20; int num3 = 30; long num4 = 40L;//注意:long类型赋值后面要带上L //浮点型 float a = 11.1f;//单精度,赋值时候后面带上F double b = 22.2;//双精度 //字符型 char m = '中';//占二个字节、 //布尔型 boolean f = false; boolean f1 = true; 一个字节是八位 1B=8b 1KB=1024B 1MB=1024KB 1GB=1024MB

    写到这里肯定很多人很疑惑,这些类型所表示的范围,这个我们不需要刻意去记,对应的封装类里面有范围,我以int为例来讲解:

    int对应的是Integer,在代码中输入Integer,然后按住Ctrl键+鼠标左键点进去就有如下代码:

    public final class Integer extends Number implements Comparable<Integer> { /** * A constant holding the minimum value an {@code int} can * have, -2<sup>31</sup>. */ @Native public static final int MIN_VALUE = 0x80000000; /** * A constant holding the maximum value an {@code int} can * have, 2<sup>31</sup>-1. */ @Native public static final int MAX_VALUE = 0x7fffffff;

    这里 MIN_VALUE MAX_VALUE对应最小值和最大值,当写程序的时候需要考虑范围的时候随时查看,不需要死记硬背,其他的类型同理可以查看范围。

    注:String不属于基本数据类型,它属于一个类,不能把它当做是基本数据类型

    拓展(面试题)

    整数拓展

    如何表示进制:

    int num1 = 10;//表示十进制10,正常表示 int num2 = 010;//八进制,以0开头 int num3 = 0b11;//二进制以0b开头 int num4 = 0x10;//十六进制以0x开头

    2.浮点数拓展

    ​ 代码如下:

    float f = 0.1f;//0.1 double d = 0.1;//0.1 System.out.print(f == d);//false float f = 13212654654f; float f1 = f + 1; System.out.print(f == f1);//true

    上面可以看出来比较的结果和我们想象的结果不一样,这是由于有舍入误差,然后又是离散的等等一些原因。

    所以导致了一种面试题的出现:银行业务怎么表示。如果这样搞,涉及到钱很容易出错啊。

    解决办法是:BigDecmal类,这是一个数学工具类,用它可以解决上述的问题

    ​ (2)引用数据类型:3大类型

    类、接口、数组

    Processed: 0.117, SQL: 9