【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/130730986
出自【进步*于辰的博客】
其实我的【Java-API】专栏内的博文对大家来说意义是不大的。因为暂且没有源码讲解,而且需要看Java-API,直接看Java-API文档就行了,也不用看博文。所以呢,这篇博文主要是写给我自己看的,也就是Java-API笔记。
因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的源码阅读能力和编码素质。
大家如果需要Java-API文档,我上传了【https://download.csdn.net/download/m0_69908381/87691693】。
文章目录
- 1、概述
- 2、字段摘要
- 2.1 static int MAX_VALUE
- 2.2 static int MIN_VALUE (此项阐述略有问题,正抓紧改)
- 2.3 static int SIZE
- 2.4 `static Class<Integer> TYPE `
1、概述
Integer 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个 int 类型的字段。
此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。
实现注意事项:“bit twiddling()
”方法(如 highestOneBit() 和 numberOfTrailingZeros())的实现基于 Henry S. Warren, Jr.撰写的 《Hacker’s Delight》(Addison Wesley, 2002)中的一些有关材料。
从以下版本开始:
JDK1.0
另请参见:
序列化表格
2、字段摘要
参考博文【mysql初级锦集】的1.1项中的int类型数据表示范围计算通式:
注:int类型数据由4个字节表示。int类型可为负值,因此对应32位有符号二进制。
2.1 static int MAX_VALUE
保持 int 类型的最大值的常量可取的值为 231-1。
说明:
最大值即为最大正数,对应的32位二进制为:0111...(31个1)
,则转为十进制的计算方法为:230 + 229 + … + 21 + 20,这么长的算术运算难道一个个加?当然不是。
将0111...(32个1)
进行+1
会如何?得:1000(31个0)
。尽管此二进制对应的是负数,但我可以将其看作是无符号二进制进行计算,其值为:231。
因此,最大值为 231 - 1。
2.2 static int MIN_VALUE (此项阐述略有问题,正抓紧改)
保持 int 类型的最小值的常量可取的值为 -231。
说明:
最小值即为最小负数。那最小负数的二进制是什么?对应值又是多少?如何计算?
参考那篇博文中关于负数的二进制计算方法,如下图:
先以 -127 为例。(用8位有符号二进制表示)
计算其二进制:
- 求其绝对值127的二进制,是
0111 1111
; - 取反,得:
1000 0000
; +1
,得:1000 0001
。
因此,-127 的二进制表示是1000 0001
。
可推断:int类型的最小负数对应的二进制是1000...0001(30个0)
。
计算其十进制:(反推)
-1
,得:1000(31个0)
;- 取反,得:
0111(31个1)
; - 十进制(参考上个方法的说明),得:231。
因此,最小值为 231。
2.3 static int SIZE
以二进制补码形式表示 int 值的位数。
2.4 static Class<Integer> TYPE
表示基本类型 int 的 Class 实例。
本文持续更新中。。。