2019/07/31的准备

  1. 早上查题,背一遍然后检查自己一遍以上
  2. 中午有时间就背一遍以复习昨天的为主
  3. 晚上背一遍,第二天中午再看一眼:day+1
  4. 第四天课间看一遍:day+3
  5. 第七天课间看一遍:day+6
  6. 第十五天课间看一遍:day+14

float和long哪个存放的数据更大,为什么?
Float存放的更大,因为虽然float占用4个字节,long占用8个字节,但是float存储结构不同, 是把32位分成了两部分,一部分存放指数,一部分存放底数。


Integer和int区别
1、Integer是int的包装类,int则是java的一种基本数据类型
2、Integer变量必须实例化后才能使用,而int变量不需要
3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值
4、Integer的默认值是null,int的默认值是0


存在使 i + 1 小于i的数吗?
存在
如果 i 为 int 型,那么当 i 为 int 能表示的最大整数时, i+1 就溢出变成负数了


Double a=0.09+0.01的结果是多少?怎么处理
结果不是0.1,会丢失精度,用BigDecemal,同样大整形的时候可以使用BigInteger

可以用 BigDecimal

		BigDecimal b =new BigDecimal("0.01");
		BigDecimal c =new BigDecimal("0.09");
		BigDecimal d = b.add(c);
		System.out.println(d);

Integer 常量缓冲区

		Integer a1 = 128;
		Integer b1 = 128;
		System.out.println(a1 == b1); //②

		Integer a2 = 127;
		Integer b2 = 127;
		System.out.println(a2 == b2); //③

对于②和③,由于是对包装类型进行对于,所以比较的是引用,然后,对于整数,127到-128之间的数据存在了常量缓冲区,所以a2和b2并没有重新创建对象,而是指定了同一个地址,所以③为true,而a1和b1超出了范围,会创建出新的对象,所以不同,②打印false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值