Integer

Integer

1.类不可继承

2.值不可改变


/**
* The value of the <code>Integer</code>.
*
* @serial
*/
private final int value;


3.包装类拆箱与装箱

在编译器自动完成


Integer a = 100 ;
Integer b = 100 ;
Integer c = 200 ;
Integer d = 200 ;
Integer e = c + d ;
System.out.println(a==b);
System.out.println(a==100);
System.out.println(c==d);
System.out.println(c==200);
System.out.println(e);



编译结果


Integer localInteger1 = Integer.valueOf(100);
Integer localInteger2 = Integer.valueOf(100);
Integer localInteger3 = Integer.valueOf(200);
Integer localInteger4 = Integer.valueOf(200);
Integer localInteger5 = Integer.valueOf(localInteger3.intValue() + localInteger4.intValue());
System.out.println(localInteger1 == localInteger2);
System.out.println(localInteger1.intValue() == 100);
System.out.println(localInteger3 == localInteger4);
System.out.println(localInteger3.intValue() == 200);
System.out.println(localInteger5);


4.Number 父类

是所有数值类型的父类

5.toBinaryString 输出十进制数的相应二进制表达式




public static String toBinaryString(int i) {
return toUnsignedString(i, 1);
}

private static String toUnsignedString(int i, int shift) {
char[] buf = new char[32];
int charPos = 32;
int radix = 1 << shift;
int mask = radix - 1;
do {
buf[--charPos] = digits[i & mask];
i >>>= shift;
} while (i != 0);

return new String(buf, charPos, (32 - charPos));
}




String binaryString = Integer.toBinaryString(2);
System.out.println(binaryString);


执行流程分析:
radix = 1 << 1 ==> 2 ;
mask = radix - 1 = 1 ;
charPos = 32
循环,do while 先执行,然后判断是否满足条件
-- charPos ==> charPos = 31 数组最后一位,数组总容量32 ,Java中int 占 4字节,32bit
i & mask ==> 10 & 01 = 0
buf[31] = digits[0] = 0
i >>>= 1 ==> 2 向右移动一位 ==》 1

-- charPos ==> charPos = 30
i & mask = 01 & 01 = 01 ==> 1
buf[32] = digits[1] = 1
i >>>= 1 ==> 1 向右移动一位 ==》 0

退出循环

流程总结:
mask 为标记位,每次与目标值相与操作后,得到目标值的最后一位
新建数组存放得到的数据值
将目标值向右移动,左侧补零;再重复上述过程,直到目标值为0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值