美文网首页
2.Java数据类型

2.Java数据类型

作者: 星野君 | 来源:发表于2022-04-23 09:56 被阅读0次

    一、Java四大数据类型分类

    1、整型

    byte 、short 、int 、long

    2、浮点型

    float 、 double

    3、字符型

    char

    4、布尔型

    boolean

    二、八种基本数据类型

    数据类型名称 占用字节 默认值 封装容器
    byte(字节型) 1 0 Byte
    short(短整型) 2 0 Short
    int(整型) 4 0 Integer
    long(长整型) 8 0 Long
    float(浮点型) 4 0.0l Float
    double(双精度浮点型) 8 0.0d Double
    char(字符型) 2 \u0000(空格) Char

    1.boolean 类型被编译成 int 类型来使用,占 4 个 byte 。
    2.boolean 数组被编译成 byte 数组类型,每个 boolean 数组成员占 1 个 byte
    3.在 Java 虚拟机里,1 表示 true ,0 表示 false 。
    4.这只是 Java 虚拟机的建议。
    5.可以肯定的是,不会是 1 个 bit 。
    6.默认值是false,1是true,0是false。

    三、数据类型详细介绍

    • 1.整型(byte、short、int、long)

    虽然byte、short、int、long 数据类型都是表示整数的,但是它们的取值范围可不一样。

    byte 的取值范围:-128~127(-2的7次方到2的7次方-1)

    short 的取值范围:-32768~32767(-2的15次方到2的15次方-1)

    int 的取值范围:-2147483648~2147483647(-2的31次方到2的31次方-1)

    long 的取值范围:-9223372036854774808~9223372036854774807(-2的63次方到2的63次方-1)

    由上可以看出 byte、short 的取值范围比较小,而long的取值范围时最大的,所以占用的空间也是最多的。int 取值范围基本上可以满足我们的日常计算需求了,所以 int 也是我们使用的最多的一个整型类型。

    • 2.浮点型(float、double)

    float 和 double 都是表示浮点型的数据类型,它们之间的区别在于精确度的不同。

    float(单精度浮点型)取值范围:3.402823e+38~1.401298e-45(e+38 表示乘以10的38次方,而e-45 表示乘以10的负45次方)

    double(双精度浮点型)取值范围:1.797693e+308~4.9000000e-324(同上)

    double 类型比float 类型存储范围更大,精度更高。

    通常的浮点型数据在不声明的情况下都是double型的,如果要表示一个数据时float 型的,可以在数据后面加上 "F" 。

    浮点型的数据是不能完全精确的,有时候在计算时可能出现小数点最后几位出现浮动,这是正常的。

    • 3.字符型(char)

    char 有以下的初始化方式:

    char ch = 'a'; // 可以是汉字,因为是Unicode编码

    char ch = 1010; // 可以是十进制数、八进制数、十六进制数等等。

    char ch = '\0'; // 可以用字符编码来初始化,如:'\0' 表示结束符,它的ascll码是0,这句话的意思和 ch = 0 是一个意思。

    Java是用unicode 来表示字符,“中” 这个中文字符的unicode 就是两个字节。

    String.getBytes(encoding) 方法获取的是指定编码的byte数组表示。

    通常gbk / gb2312 是两个字节,utf-8 是3个字节。

    如果不指定encoding 则获取系统默认encoding 。

    • 4.布尔型(boolean)

    boolean 没有什么好说的,它的取值就两个:true 、false 。

    四、数据类型转换
    1.赋值或者运算时精度小数据类型的自动转换成精度大的数据类型。
    2.自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符 ( ),但可能造成 精度降低或溢出,格外要注意。

    int i = (int)1.9
    byte j = (byte)100 
    

    相关文章

      网友评论

          本文标题:2.Java数据类型

          本文链接:https://www.haomeiwen.com/subject/dlbrsrtx.html