美文网首页
Java数据类型浅析

Java数据类型浅析

作者: Levi_moon | 来源:发表于2021-02-09 18:39 被阅读0次

    Java是一种强类型语言,这就意味着必须为每个变量声明一种类型。在Java中总共有8种基本类型,其中有4种整型、2种浮点类型、1种字符类型和1种表示真假值的布尔(boolean)类型。

    一、整型(4种)

    整型用于表示没有小数部分的数值,允许是负数。

    四种整型:

    • int4字节、-2,147,483,4648 ~ 2,147,483,647
    • short2字节-32,768 ~ -32,767
    • long8字节、-9,223,372,036,854,775,808 ~ 9,223,373,036,854,775,807
    • byte1字节、-128 ~ 127

    通常情况下,int类型最常用,最大值差不多为21亿。如果数值超过了这个值,最好是使用long类型。而shortbyte类型主要是用于特定的应用场合,如:文件处理或存储空间紧张时存储的大数组。

    long类型数值后有一个后缀Ll(小写的L),建议写成大写的L,小写的L容易与数字1混淆。

    众所周知,Java是跨平台的语言,当一个软件从一个平台移植到另一个平台时,或者在一个平台的不同操作系统之中进行移植,会给开发人员带来各种各样的问题。

    例如,使用CC++语言开发的软件,在32位处理器上运行时,long类型为四个字节,但是在64位处理器上时,却为8字节。这样就会造成在64位处理器上运行良好的程序,在32位处理器上运行时会发生整数溢出的问题。

    由于有这些差异的存在,导致跨平台开发程序异常困难,但是对于Java来说,这些问题则不复存在。在Java中,所有的数值类型所占据的字节数与平台无关。


    二、浮点型(2种)

    浮点类型用于表示有小数部分的数值。

    两种浮点类型:

    • float4字节、大约± 3.402,823,47E+38F,有效位数为6 ~ 7位)
    • double8字节、大约± 1.797,693,134,862,315,70E+308,有效位数为15位)

    double(双精度数值)的数值精度是float类型的两倍。平时多使用double类型。float类型的数值有一个后缀Ff,没有后缀F的浮点数值总是默认为是double类型,或者浮点数值后有Dd的也是double类型的浮点数值。

    用于表示溢出和出错情况时的三个特殊的浮点数值:

    • 正无穷大(一个正整数除以0时的结果)
    • 负无穷大
    • NaN(计算0/0或负数的开平方根的结果)

    注意: 浮点数值不适用进行无法接收有误差的金融计算。例如,10.0 - 9.1的结果不是0.9,而是0.9000000000000004,这种有误差的原因是浮点数值采用二进制系统表示,而二进制系统中无法精确地表示分数。如果希望没有误差,那么应该使用BigDecimal类。


    三、字符类型(1种)

    字符类型原本是用来表示单个字符,现在也可用来描述Unicode字符。

    一种字符类型:

    • char

    char类型的字面量值要用单引号括起来。例如:'A'是编码值为65的字符常量;而"A"是字符串Achar类型的值也可以表示为十六进制,范围从\u0000\uFFFF


    四、布尔类型(1种)

    用来判定逻辑条件,值只有两个,分别是:true和false。

    一种布尔类型:

    • boolean

    需要注意的是: 在Java中,整型值和布尔值之间不能进行相互转换。在C++中,数值0相当于布尔值的false,非0值相当于布尔值的true


    相关文章

      网友评论

          本文标题:Java数据类型浅析

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