当前位置: 首页 > news >正文

Java-API简析_java.lang.Integer类(基于JDK1.8)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
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位有符号二进制表示)
计算其二进制:

  1. 求其绝对值127的二进制,是0111 1111
  2. 取反,得:1000 0000
  3. +1,得:1000 0001

因此,-127 的二进制表示是1000 0001

可推断:int类型的最小负数对应的二进制是1000...0001(30个0)
计算其十进制:(反推)

  1. -1,得:1000(31个0)
  2. 取反,得:0111(31个1)
  3. 十进制(参考上个方法的说明),得:231

因此,最小值为 231

2.3 static int SIZE

以二进制补码形式表示 int 值的位数。

2.4 static Class<Integer> TYPE

表示基本类型 int 的 Class 实例。

本文持续更新中。。。

http://www.lryc.cn/news/68300.html

相关文章:

  • WebSocket的那些事(3-STOMP实操篇)
  • 《花雕学AI》WeTab+ChatGPT:让浏览器变成你的智能助手
  • MySQL 字段为 NULL 的5大坑,大部分人踩过
  • Android SystemUI篇(二)
  • 第六讲:“声音”写具体
  • Unity 向量
  • Apache Tomcat AJP协议文件读取与包含
  • 实验10 人工神经网络(1)
  • OPPO关停哲库业务,工程师造芯何去何从?
  • 面试被问麻了....
  • AspNetCore中的配置文件详解
  • 实时更新天气微信小程序开发
  • css渐变
  • 《斯坦福数据挖掘教程·第三版》读书笔记(英文版) Chapter 2 MapReduce and the New Software Stack
  • HTML零基础快速入门(详细教程)
  • Kubernetes第5天
  • RK3568平台开发系列讲解(调试篇)debugfs 分析手段
  • 【Spring框架全系列】SpringBoot配置日志文件
  • 事务 ---MySQL的总结(六)
  • 22 标准模板库STL之容器适配器
  • 目标检测YOLO实战应用案例100讲-基于深度学习的自动驾驶目标检测算法研究
  • 服务网关Gateway
  • (4)定时器
  • 项目实现读写分离操作(mysql)
  • VP记录:Educational Codeforces Round 148 (Rated for Div. 2) A~D1
  • 无线模块|如何选择天线和设计天线电路
  • (11)LCD1602液晶显示屏
  • 类和对象下
  • 【云计算•云原生】4.云原生之什么是Kubernetes
  • 云厂商降价潮背后:来中小企业战场「拼刺刀」