zoukankan      html  css  js  c++  java
  • Java的主要数据类型(Primitive)

    有一系列类需特别对待;可将它们想象成“基本”、“主要”或者“主”(Primitive)类型,进行程序设计时要频繁用到它们。之所以要特别对待,是由于用new创建对象(特别是小的、简单的变量)并不是非常有效,因为new将对象置于“堆”里。对于这些类型,Java采纳了与C和C++相同的方法。也就是说,不是用new创建变量,而是创建一个并非句柄的“自动”变量。这个变量容纳了具体的值,并置于堆栈中,能够更高效地存取。Java决定了每种主要类型的大小。就象在大多数语言里那样,这些大小并不随着机器结构的变化而变化。这种大小的不可更改正是Java 程序具有很强移植能力的原因之一。

     
    类型 bit位数 值范围 默认值
    boolean 1 true/false false
    char 16 'u0000~uFFFF’ 'u0000'
    byte 8 -128~127 0
    short 16 -32768~32767 0
    int 32 -2147483648~2147483647 0
    long 64 -9233372036854477808~9233372036854477807 0L
    float 32 -3.40292347E+38~3.40292347E+38 0.0f
    double 64

    -1.79769313486231570E+308~1.79769313486231570E+308

    0.0d

    Java1.1增加了两个类,用于进行高精度的计算:BigInteger和BigDecimal。尽管它们大致可以划分为“封装器”类型,但两者都没有对应的“主类型”。这两个类都有自己特殊的“方法”,对应于我们针对主类型执行的操作。也就是说,能对int 或float 做的事情,对BigInteger 和BigDecimal 一样可以做。只是必须使用方法调用,不能使用运算符。此外,由于牵涉更多,所以运算速度会慢一些。我们牺牲了速度,但换来了精度。BigInteger 支持任意精度的整数。也就是说,我们可精确表示任意大小的整数值,同时在运算过程中不会丢失任何信息。BigDecimal 支持任意精度的定点数字。例如,可用它进行精确的币值计算。

  • 相关阅读:
    Word和WPS插件开发总结
    WPS报表导出插件
    基于FFmpeg的教学资源库的非MP4视频转换为MP4流程
    Node-WebKit推送信息调研
    (译)OpenID Connect的常见问题与答案(二)
    (译)欢迎来到OpenID Connect(一)
    Xxl-job的使用
    ELK+filebeat安装部署监控springboot日志
    分布式事物
    Prometheus监控Centos,Mysql,Docker
  • 原文地址:https://www.cnblogs.com/frankyou/p/5974138.html
Copyright © 2011-2022 走看看