第二章《一切都是对象》

第二章《一切都是对象》

主类型大小最小值最大值封装器类型
field1field2field3
boolean1-bitBoolean
char16-bitUnicode 0Unicode 216- 1Character
byte8-bit-128+127Byte[11]
short16-bit-2 1 ^1 1 5 ^5 5+2 1 ^1 1 5 ^5 5 – 1Short1
int32-bit − 2 3 -2^3 23 1 ^1 1+ 2 3 2^3 23 1 ^1 1– 1Integer
long64-bit-2 6 ^6 6 3 ^3 3+2 6 ^6 6 3 ^3 3 – 1Long
float32-bitIEEE754IEEE754Float
double64-bitIEEE754IEEE754Double
voidVoid1
  • Java 1.1增加了两个类,用于进行高精度的计算:BigInteger和BigDecimal。尽管它们大致可以划分为“封装器”类型,但两者都没有对应的“主类型”。
  • 创建对象数组时,实际创建的是一个句柄数组。而且每个句柄都会自动初始化成一个特殊值,并带有自己的关键字:null(空)。一旦Java看到null,就知道该句柄并未指向一个对象。正式使用前,必须为每个句柄都分配一个对象。若试图使用依然为null的一个句柄,就会在运行期报告问题。因此,典型的数组错误在Java里就得到了避免。
  • 若某个主数据类型属于一个类成员,那么即使不明确(显式)进行初始化,也可以保证它们获得一个默认值。
Boolean false
Char '\u0000'(null)
byte (byte)0
short (short)0
int 0
long 0L
float 0.0f
double 0.0d
  • 所有javadoc命令都只能出现于 “/**” 注释中
  public static void main(String[] args) {
    System.out.println(new Date());
    Properties p = System.getProperties();
    p.list(System.out);
    System.out.println("--- Memory Usage:");
    Runtime rt = Runtime.getRuntime();
    System.out.println("Total Memory = "
      + rt.totalMemory()
      + " Free Memory = "
      + rt.freeMemory());
  }

double比较大小

double a=1.01;
double b=1.01;
System.out.println(String.valueof(b)==String.valueof(a));
System.out.println(Double.doubleToLongBits(a)==Double.doubleToLongBits(b));
  • float:

符号位(1 bit)
指数(8 bit)
尾数(23 bit)

  • double:

符号位(1 bit)
指数(11 bit)
尾数(52 bit)

  • 注意:从左到右是从低位到高位,而在计算机内部是采用逆序存储的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tcoding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值