Java基本数据类型

1.整形

类型 占用空间 取值范围
int 4字节 -2147483648 - 2147483647
short 2字节 -32768 - 32767
long 8字节 -9223372036854775B08 - 9223372036854775807
byte 1字节 -128 - 127

Java的基础数据类型的整形和浮点数都是带符号的,即有正负之分,在与c语言写的程序进行交互时要注意c语言中的无符号字符型数据,一个byte的取值范围是0-255,所以需要先将该字节转换成int类型再执行接下来的操作。

2.浮点类型

类型 占用空间 取值范围
float 4字节 大约 ±3.40282347E+38F
double 8字节 大约 ±1.79769313486231570E+308

浮点数不适合金融计算,因为二级制精确的表示每一个小数,例如十进制也无法表示1/3一样,当二进制表示的数值的尾数操作浮点数的位数范围,数值则会失真。这在金融计算中是不被允许的,所以在Java中进行浮点数的四则运算常用的是BigDecimal类。

public static void main(String[] args) {
        double f1 = 2L;
        double f2 = 1.1;
        System.out.println(f1 - f2);

        BigDecimal b1 = new BigDecimal(f1);
        BigDecimal b2 = new BigDecimal(f2);
        System.out.println(b1.subtract(b2).toString());
        BigDecimal b3 = new BigDecimal(String.valueOf(f1));
        BigDecimal b4 = new BigDecimal(String.valueOf(f2));
        System.out.println(b3.subtract(b4).toString());
    }

运行结果

0.8999999999999999
0.899999999999999911182158029987476766109466552734375
0.9

如以上所示,当使用字符串类型初始化BigDecimal类型时,可以得到准确计算结果

3.字符型

  • char类型是一个单一的16位Unicode字符;
  • 最小值是\u0000(即为0);
  • 最大值是\uffff(即为65535);
  • char类型可以储存任何字符。

4.boolean型

boolean (布尔)类型有两个值:false 和 true, 用来判定逻辑条件 整型值和布尔值之间
不能进行相互转换。

你可能感兴趣的:(Java基本数据类型)