java八大数据类型总结


此处简介

java八大数据类型总结

[TOC]

负数在电脑中的存储是用(该数值的绝对值的反码+1表示)
最高位是符号位,1表示负数,0表示正数
负数换算规则:负数的二进制=负数绝对值的二进制取反码+1。

byte类型:

    byte类型,使用一个字节存放一个数据,一个字节占八位,所以它取值范围是:1000 0000 ~ 0111 1111(-128-127)

short类型

    short类型,使用两个字节存放一个数据,两个字节16位二进制表示,那么它的取值范围就是:
1000 0000 0000 0000 ~ 0111 1111 1111 1111(-32768-32767)换算同上述byte类型

char类型

   char在java中占据两个字节,即用16位表示一个char类型的数据。由于char是无符号的所以其表示范围是0-65536.当计算超过其表示范围时,系统会自动将结果转换为int类型。

boolean类型:

        boolean类型占用一个字节,八位二进制表示。boolean类型只有两个值true和flase。

float类型

其他特殊表示:

 1.当指数部分和小数部分全为0时,表示0值,有+0和-0之分(符号位决定),0x00000000表示正0,0x80000000表示负0.
2.指数部分全1,小数部分全0时,表示无穷大,有正无穷和负无穷,0x7f800000表示正无穷,0xff800000表示负无穷.
3.指数部分全1,小数部分不全0时,表示NaN,分为QNaN和SNaN,Java中都是NaN.
可以看出浮点数的取值范围是:2^(-149)~~(2-2^(-23))*2^127,也就是Float.MIN_VALUE和Float.MAX_VALUE.

double类型

    double类型占8个字节,一共是64位二进制表示。数符加尾数占48位,指数符加指数占16位.取值换算方式和float的换算方式一样。但是在使用float和double时最好先分析好目标数据的精度和性能要求,如果能够使用float满足的坚决不适用double,因为double类型使用内存占用是float的两倍,运算速度远不如float。

short类型

    short类型,使用两个字节存放一个数据,两个字节16位二进制表示,那么它的取值范围就是:
1000 0000 0000 0000 ~ 0111 1111 1111 1111(-32768-32767)换算同上述byte类型。short类型使用时除了要注意取值范围

int类型

    int类型,在Java中使用的是四个字节保存一个数据,一共是32为二进制表示,同上述的一样,取值范围:1000 0000 0000 0000 0000 0000 0000 0000 - 0111 1111 1111 1111 1111 1111 1111 1111
    (-2^32~2^31)

long类型

    long类型是Java的基础类型,使用8个字节存储一个数值,一共是64位二进制数。取值范围是(-2^64-2^63

八大常用类型的最大值与最小值

float max=3.4028235E38 float min=1.4E-45 double max=1.7976931348623157E308 double max=4.9E-324 byte max=127 byte min=-128 char max=? char min= short max=32767 short min=-32768 int max=2147483647 int min=-2147483648 long max=9223372036854775807 long min=-9223372036854775808

| 数据类型 | byte类型 | short类型 |char类型|boolean类型|float类型|int类型|double类型|long类型|
| :——– | ——–:| :——:
|所占字节数 | 2| 2|2|8|4|4|8|8|


Author: Kuiq Wang
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Kuiq Wang !
  TOC