zoukankan      html  css  js  c++  java
  • java--数据类型

    Java 是一种强类型语言。 这就意味着必须为每一个变量声明一种类型。

    在 Java 中, 一共有 8 种基本类型(primitive type), 其中有 4 种整型、 2 种浮点类型、 1 种用于表示 Unicode 编码的字符单元的字符类型 char 和 1 种用于表示真值的 boolean类型。

    注释: Java 有一个能够表示任意精度的算术包, 通常称为“大数值”(big number)。 虽然被称为大数值, 但它并不是一种新的 Java 类型, 而是一个 Java 对象。

    整型

    整型用于表示没有小数部分的数值, 它允许是负数。Java 提供了 4 种整型,如下表:

    类型
    存储需求
    取值范围
    byte
    1字节
    - 128 ~ 127
    short
    2字节
    - 32 768 ~ 32 767
    int
    4字节
    - 2 147 483 648 ~ 2 147 483 647(正好超过 20 亿)
    long
    8字节
    - 9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807

    在 Java 中, 整型的范围与运行 Java 代码的机器无关。(可移植性)

    在 Java 中, 所有的数值类型所占据的字节数量与平台无关。

    注意, Java 没有任何无符号类型(unsigned)。

    浮点类型

    浮点类型用于表示有小数部分的数值。 在 Java 中有两种浮点类型,如下表:

    类型
    存储需求
    取值范围
    float
    4字节
    大约 ±3.402 823 47E + 38F(有效位数为 6 ~ 7 位)
    double
    8字节
    大约 ±1.797 693 134 862 315 70E + 308(有效位数为 15 位)

    double 表示这种类型的数值精度是 float 类型的两倍(也称为双精度数值)。

    float 类型的数值有一个后缀 F(例如, 3.14F)。 没有后缀 F 的浮点数值(如 3.14) 默认为double 类型。 当然, 也可以在浮点数值后面添加后缀 D(例如, 3.14D)。

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

    正无穷大  Double.POSITIVE_INFINITY

    负无穷大  Double.NEGATIVE_INFINITY

    NaN(不是一个数字)  Double.NaN

    注意, 不能这样检测一个特定值是否等于 Double.NaN

    if(x==Double.NaN) // is never true

    所有“非数值” 的值都认为是不相同的。 然而, 可以使用 Double.isNaN 方法:

    if(Double.isNaN(x))

    警告: 浮点数值不适用于禁止出现舍入误差的金融计算中。 

    例如, 命令 System.out.println(2.0–1.1) 将打印出 0.8999999999999999, 而不是人们想象的 0.9。 其主要原因是浮点数值采用二进制系统表示, 而在二进制系统中无法精确的表示分数 1/10。 这就好像十进制无法精确地表示 1/3 一样。 

    如果需要在数值计算中不含有任何舍入误差, 就应该使用BigDecimal 类。

    char类型

    char 类型用于表示单个字符。 通常用来表示字符常量。

    boolean类型

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

    Java规范2.0里面指出boolean在内存中占1个或者4个字节。

    如果使用boolean声明一个基本类型的变量时,那么该变量占4个字节。

    如果使用boolean声明一个数组类型的时候,那么每个数组的元素占1个字节。

  • 相关阅读:
    第三波精品Android源码袭来!免费下载
    推荐!Html5精品效果源码分享
    又来一波!Android精品源码分享
    Android精品资源汇总,10个源码(持续更新)
    Android开发者学习必备:10个优质的源码供大家学习
    专访方立勋:开发者应该保持好奇和热情
    将博客搬至CSDN
    GIT修改commit信息
    使用FormData上传文件
    Spring MVC @PathVariable with dot (.) is getting truncated
  • 原文地址:https://www.cnblogs.com/peng-zhang/p/9957779.html
Copyright © 2011-2022 走看看