JavaSE 面向对象程序设计 包装类 纯理论详解以及相关综合练习

news2024/11/28 8:50:30

包装类

实质

基本数据类型对应的引用数据类型

把基本数据类型变成对象

创建对象后

在栈内存里开辟空间

在堆内存里开辟空间

成员变量记录数值

栈内存记录对象的地址

包装类就是创建一个对象,对象记录相应的数据值

用一个对象把数据包装起来

作用

Java中万物皆是对象

因为多态的存在

所有的数据都可以用object类来进行表示

但是有局限性 比如传递一个整数

而集合当中只能存入对象,不能存入基本数据类型

常见的包装类

Integer

获取Integer对象的方式(了解)

JDK5以前

利用构造方法

利用静态方法

打印的整数均是十进制

面试题

两种方式获得对象区别

==号比较对象时比较的地址值

表示是不是同一个对象

new关键字

创建新的对象

每个对象的地址值不同

源码

方法参数i是我们传入的整数

如果i在一定范围内

就直接获取

不然创建对象

cahe[]是一个数组

数组中获取对象 可以 -128到127

Integer类源码 中 静态代码块

提前创建对象 放到数据中

所以当使用valuOf创建对象

如果存在 直接返回数组中创建好的

超出范围,每次都是创建对象出来的

因为

-128-127中的使用次数比较多

如果每次都要创建对象

就太麻烦

就创建对象

用到的话就不会创建新的对象,直接返回创建好的对象

计算

以前的方法

对象之间不能直接运算

要把对象进行拆箱

变成基本数据类型

然后进行运算操作

再进行装箱 变回包装类

但是太复杂了

自动装箱拆箱

JDK5提出机制

自动 不需要我们额外去写代码

可以把基本数据类型变成其对应的包装类

可以把包装类自动变成其基本的数据类型

在底层,还会自动调用静态方法valueof得到一个Integer对象,只不过不需要我们去操作

小结

Integer成员方法

得到对应的进制数

返回值是字符串

因为长度限制

二进制可能是十多位,二十多位

把整数转换成二进制,八进制,十六进制

大量使用

Java是强类型的

每种数据都有一种数据类型

把字符串转化成整数

细节1

转换时 传入的参数 字符串的组成只能是数字

细节2

8种包装类当中

除了Character都有对应的parseXxx方法

进行类型转换

以后所有的数据类型统一用nextLine

类型转换

综合练习

两道综合练习

先把数据录入内存中

再ctrl+v进行转换

题目1

题目2

我们在开发时习惯把异常数据先过滤

类型转换

通过ACILL码值转换

-‘ 0 ’ 对应的数值为48

这一步骤尤为重要

字符串转化为数字

先得到每个字符

然后转化为整数

三道综合练习

题目1

把十进制转换成二进制

除基取余法

题目2(重要)

题目3(重要)

个人号推广

博客主页

多多!-CSDN博客

Web后端开发

https://blog.csdn.net/qq_30500575/category_12624592.html?spm=1001.2014.3001.5482

Web前端开发

https://blog.csdn.net/qq_30500575/category_12642989.html?spm=1001.2014.3001.5482

数据库开发

https://blog.csdn.net/qq_30500575/category_12651993.html?spm=1001.2014.3001.5482

项目实战

https://blog.csdn.net/qq_30500575/category_12699801.html?spm=1001.2014.3001.5482

算法与数据结构

https://blog.csdn.net/qq_30500575/category_12630954.html?spm=1001.2014.3001.5482

计算机基础

https://blog.csdn.net/qq_30500575/category_12701605.html?spm=1001.2014.3001.5482

回忆录

https://blog.csdn.net/qq_30500575/category_12620276.html?spm=1001.2014.3001.5482

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1825419.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[leetcode]将二叉搜索树转化为排序的双向链表

. - 力扣(LeetCode) /* // Definition for a Node. class Node { public:int val;Node* left;Node* right;Node() {}Node(int _val) {val _val;left NULL;right NULL;}Node(int _val, Node* _left, Node* _right) {val _val;left _left;right _rig…

新火种AI|苹果终于迈进了AI时代,是创新还是救赎?

作者:一号 编辑:美美 苹果的AI战略,能够成为它的救命稻草吗? 苹果,始终以其独特的创新能力引领着行业的发展方向。在刚结束不久的2024年的全球开发者大会(WWDC)上,苹果再次证明了…

iSlide软件下载附加详细安装教程

​iSlide 是一款基于 PPT 的插件工具,包含 52 个设计辅助功能,9 大在线资源库,超 50 万专业 PPT 模板/素材 支持 macOS 和 Windows 系统(兼容 Office 和 WPS)。 可以对一组元素(文本框,图形&…

制作自己的 @OnClick、@OnLongClick(告别 setOnClickListener,使用注解、反射和动态代理)

前言 前面我们说过 ButterKnife 这个库,这个库实现不仅实现了 View 的绑定,而且还提供了大量的注解如 BindView、OnClick、OnLongClick 等来简化开发过程中事件绑定。而这些功能的实现是通过 APT 也就是注解处理器,在编译期间生成 Java 代码…

GStreamer——教程——基础教程2:GStreamer concepts

基本教程2:GStreamer概念 1,目标 之前的教程展示了如何自动构建管道。现在我们将手动构建一条pipeline:初始化每一个element并将它们连接起来。在此过程中,我们将学习: 什么是GStreamer元素以及如何创建一个。 如何…

redis设计与实现(五)RDB与AOF持久化

RDB持久化 因为Redis是内存数据库,它将自己的数据库状态储存在内存里面,所以如果不想办法将储存在内存中的数据库状态保存到磁盘里面,那么一旦服务器进程退出,服务器中的数据库状态也会消失不见。 为了解决这个问题,…

CC2500和CC1101移植说明

主要通过如何移植、移植注意、关于芯片配置、如何生成导出配置四大步骤来说明CC2500和CC1101移植 首先通过下图1这个宏进行选择 如何移植 要移植的部分在 CC2500_hal.c 和 CC2500_hal.h中, 搜索 "//移植" 就可以定位到 库 所需的依赖, 需要根据 您的环境实现这些…

sap怎么批量给信息记录打上删除标识

1.MEMASSIN-----事务代码 2.选择完成字段 3.根据条件查询需要冻结的信息记录 4.输入查询条件 5.全部勾选完成标识,点击保存,即可冻结完成

AI Stable diffusion 报错:稳定扩散模型加载失败,退出

可能是内存不够,看看你最近是加了新的大的模型,可以把你的stable-diffusion-webui\models\Stable-diffusion目录下的某个ckpt删除掉,可能ckpt太大,无法加载成功; Stable diffusion model failed to load, exiting 如图…

【RAM】利用AWS Resource Access Manager服务实现与其他账户共享AWS资源

文章目录 1. 先决条件说明2. 导航至ARM控制面板3. 指定资源共享详细信息4. 关联托管式权限5. 向委托人授予访问权限6. 查看和创建7. 查看由我共享的资源8. 资源共享详细信息9. 取消关联10. 参考链接11. 生成式AI书籍推荐📢 1. 先决条件说明 报错现象: …

工业屏:千万不要以为电脑显示啥样,工业屏就啥样,注意色差。

重要的事情说三遍:一定要放到实际场景下调色,定要放到实际场景下调色,定要放到实际场景下调色。 工业控制屏的色域通常比普通电脑显示器要小。工业控制屏主要用于工业环境中,需要满足特定行业的需求和标准。由于工业控制屏的设计…

④-2单细胞学习-cellchat单数据代码补充版(通讯网络)

目录 通讯网络系统分析 ①社会网络分析 1,计算每个细胞群的网络中心性指标 2,识别细胞的信号流模式 ②非负矩阵分解(NMF)识别细胞的通讯模式 1,信号输出细胞的模式识别 2,信号输入细胞的模式识别 信…

el-table表头修改文字或者背景颜色,通过header-row-style设置样式

方式一 <el-table :header-cell-style"{text-align: center}" />方式二 <template><el-table :header-cell-style"tableHeaderColor" /> </template> <script> export default {methods: {tableHeaderColor ({row, column…

驱动开发(三):内核层控制硬件层

驱动开发系列文章&#xff1a; 驱动开发&#xff08;一&#xff09;&#xff1a;驱动代码的基本框架 驱动开发&#xff08;二&#xff09;&#xff1a;创建字符设备驱动 驱动开发&#xff08;三&#xff09;&#xff1a;内核层控制硬件层​​​​​​​ ←本文 目录…

一般简单的功能使用GIS 服务器工具还需要进行扩展开发吗?

有网友困惑怎么使用了我们的 GIS 服务器工具&#xff0c;一些简单的功能需不需要对服务器进行扩展开发&#xff1f;下面我们首先看一下标准GIS WEB服务器例如GEOSERVER&#xff0c;QGISSERVER、GIS数据快捷共享发布工具&#xff08;建立自己的地图网站&#xff09;及其它一些商…

技术转管理,是灾难还是奇迹?

深耕技术or转战管理&#xff1f;this is a question! 如果你还没有想好&#xff0c;那请继续往下看&#xff01; 技术专家&#xff1a;技术前瞻者、方案构建者、难题破解者、团队聚核者 管理专家&#xff1a;战略规划者、高效组织者、变革引领者、团队建设者 特点和重心都不在…

还在用Flex布局?OUT了 快来看看grid布局吧!

还在用Flex布局&#xff1f;OUT了 快来看看grid布局吧&#xff01; 之前我在写布局的时候就喜欢用flex&#xff0c;有一次我需要实现四个方块占一行的需求 &#xff0c;But 一共有七个方块到了第二行很Egg疼 &#xff0c;第二行它直接三个方块居中排布&#xff0c; 这三兄弟直…

什么是GPT-4

什么是GPT-4 ChatGPT 可以说&#xff0c;ChatGPT的发展&#xff0c;主要的分水岭在GPT-4&#xff0c;GPT-4主要是文本对话&#xff0c;且训练度也不够完善。GPT-4之后不但训练度得到了巨大提升&#xff0c;模型支持的参数量更是预计有1万亿参数&#xff0c;在这之后出现的GPT-4…

电机控制安全:PWM 直通

在 H 桥中使用互补 PWM 时的一个主要考虑因素是短路的可能性&#xff0c;也称为“击穿”。 如图 5 所示&#xff0c;如果同一支路上的两个开关同时打开&#xff0c;H 桥配置可能会导致电源和接地之间发生直接短路。 如果同一条腿上的两个开关同时打开&#xff0c;则可能会发生…

【Kafka】Kafka Producer 分区-05

【Kafka】Kafka Producer 分区-05 1. 分区的好处2. 分区策略2.1 默认的分区器 DefaultPartitioner 3. 自定义分区器 1. 分区的好处 &#xff08;1&#xff09;便于合理使用存储资源&#xff0c;每个Partition在一个Broker上存储&#xff0c;可以把海量的数据按照分区切割成一块…