头歌java课程实验(Java面向对象 - 包装类)

第1关:基本数据类型和包装类之间的转换

任务描述
本关任务:实现基本数据类型与包装类之间的互相转换。

相关知识
为了完成本关任务,你需要掌握:
1.什么是包装类;

2.怎么使用包装类。

什么是包装类
在JAVA中,八大基础数据类型(int,float,double...)是不具备对象的特征的,比如基本数据类型就不能调用方法,功能简单,为了让基本数据类型也具备对象的特征,就有了JAVA包装类。

我们知道基础数据类型是没有属性的,也是不能调用方法的。例如:

int i = 10;
i.toString();
使用这段代码就会出错。

但是我们在开发过程中肯定会遇到,将基本数据类型转换为String类型,或者其他数据类型,而这个时候如果我们要用基础数据类型实现这些转换就会非常麻烦,所以Java就有了基本数据类型的包装类,顾名思义,包装类就是:将基本数据类型包装成对象,使其具有了对象的属性和方法。
这样就可以使用方法和属性了。

而包装类的主要作用也就是:

将本类型与其他类型进行转换;

将字符串与本类型及包装类型相互转换。

怎么使用包装类
首先我们来看如何定义包装类:比如定义一个int类型的包装类

Integer i1 = new Integer(100);  //定义一个值为100的 整形包装类
Integer i2 = 100;
上面两种方式都可以定义整形类型的包装类。

我们可能会有疑问,数据变成了包装类,我之后要使用数据怎么办呢?

很简单,我们在将包装类转换成基本数据类型就可以了。

Integer i1 = new Integer(100);
int value = i1;//方法1
int value2 = i1.intValue();//方法2
经过上述步骤就可以将包装类转换成基本数据类型了。这两个例子分别展示了如何将int类型转换成包装类,如何将包装类转换成int类型。
我们一般将“基本数据类型转换成包装类”的过程叫做装箱,将“包装类转换成基本数据类型”的过程叫做拆箱。

装箱可以分为手动装箱和自动装箱:

拆箱也可以分为手动拆箱和自动拆箱:

这里所举的例子都是使用int类型,其他数据类型和int类型的包装类切换方式没有什么区别,所以关于其他数据类型我们只需要知道它们对应的包装类名是什么即可。

看上图,相信你已经明白Java中八大基本数据类型如何与包装类进行切换了。

测试说明
请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

完成基本数据类型与包装类之间的相互转换,即装箱与拆箱。
编程要求
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

预期输出:

装箱后的结果为:66.6和66.6
拆箱结果为:88.88和88.88

开始你的任务吧,祝你成功!

package step1;public class Task {public static void main(String[] args) {//定义float对象float f = 66.6f;//手动装箱Float f1 =   new Float(f)    ;//自动装箱 Float f2 =  f     ;System.out.println("装箱后的结果为:" + f1 + "和" + f2);//定义一个Double包装类值为88.88Double d =  new Double(88.88)     ;//手动拆箱double d1 =  d.doubleValue()    ;//自动拆箱double d2 =  d    ;System.out.println("拆箱结果为:" + d1 + "和" + d2);}}

第2关:包装类转换成其他数据类型

任务描述
本关任务:将包装类转换成其他数据类型。

相关知识
为了完成本关任务,你需要掌握:1.如何将包装类转换成其他基本数据类型。

将包装类转换成其他数据类型
很简单,我们来看一个例子就知道了:

Integer i = new Integer(100);
//转换成double类型
double d = i.doubleValue();
System.out.println("d的值:" + d);
//转换成float类型
float f = i.floatValue();
System.out.println("f的值" + f);
相信你已经明白怎么进行转换了。

编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

将int类型数据转换成其他数据类型。
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
预期输出:
Integer包装类:67
double类型:67.0
float类型:67.0
int类型:67

开始你的任务吧,祝你成功!

package step2;public class Task {public static void main(String[] args) {// 定义int类型变量,值为67int score = 67;// 创建Integer包装类对象,表示变量score的值Integer score1 = new Integer(score);// 将Integer包装类转换为double类型double score2 = score1.doubleValue()    ; // 将Integer包装类转换为float类型float score3 =  score1.intValue()    ;// 将Integer包装类转换为int类型int score4 =   score1.  intValue()     ;System.out.println("Integer包装类:" + score1);System.out.println("double类型:" + score2);System.out.println("float类型:" + score3);System.out.println("int类型:" + score4);}        
}

第3关:包装类与字符串之间的转换

任务描述
本关任务:实现基本数据类型与字符串的相互转换。

相关知识
为了完成本关任务,你需要掌握:

1.如何将基本数据类型转换成字符串;

2.如何将字符串转换成基本数据类型。

如何将基本数据类型转换成字符串
我们在开发中会经常会遇到将基本数据类型转换成字符串的场景。

那如何进行转换呢?

总共有三种方式:

使用包装类的toString()方法;

使用String类的valueOf()方法;

使用一个空字符串加上基本类型。

如何将字符串转换成基本数据类型
我们先来看一段代码:

String a ="12";
int b = 23;
System.out.println(a+b);
这段代码输出的结果应该是,1223,但是我们想让他输出35应该怎么做呢?
你肯定想到了,我们先将a转换成int类型,在相加就可以了。

将字符串转换成基本数据类型有两种方式:

调用包装类的parseXXX()方法;

调用包装类的valueOf()方法转换为基本数据类型的包装类。

编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

完成基本数据类型与字符串之间的相互转换。
测试说明:
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
预期输出:
str + 12  的结果为: 78.512
d + 100 的结果为: 280.2

开始你的任务吧,祝你成功!

package step3;public class Task {public static void main(String[] args) {double a = 78.5;//请在此添加实现代码//将基本类型a转换为字符串String str = Double.toString (a) ;System.out.println("str + 12  的结果为: "+(str + 12));String str1 = "180.20";// 将字符串str1转换为基本类型Double d =   Double.valueOf(str1)   ;System.out.println("d + 100 的结果为: "+ (d + 100));} 
}

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

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

相关文章

实现一个免费可用的文生图的MCP Server

概述 文生图模型为使用 Cloudflare Worker AI 部署 Flux 模型,是参照视频https://www.bilibili.com/video/BV1UbkcYcE24/?spm_id_from333.337.search-card.all.click&vd_source9ca2da6b1848bc903db417c336f9cb6b的复现Cursor MCP Server实现是参照文章https:/…

ES6 深克隆与浅克隆详解:原理、实现与应用场景

ES6 深克隆与浅克隆详解:原理、实现与应用场景 一、克隆的本质与必要性 在 JavaScript 中,数据分为两大类型: 基本类型:Number、String、Boolean、null、undefined、Symbol、BigInt引用类型:Object、Array、Functio…

新闻数据加载(鸿蒙App开发实战)

本案例基于ArkTS的声明式开发范式,介绍了数据请求和onTouch事件的使用。包含以下功能: 数据请求。列表下拉刷新。列表上拉加载。 网络数据请求需要权限:ohos.permission.INTERNET 一、案例效果截图 操作说明: 点击应用进入主页…

办公效率王Word批量转PDF 50 +文档一键转换保留原格式零错乱

各位办公小能手们,我跟你们说啊!在办公的时候,咱经常会碰到要把一堆Word文档转成PDF格式的情况,比如说要统一文件格式、保护文档内容或者方便分享啥的。这时候,就需要用到Word批量转换成PDF的软件啦。下面我就给你们好…

一张Billing项目的流程图

流程图 工作记录 2016-11-11 序号 工作 相关人员 1 修改Payment Posted的导出。 Claim List的页面加了导出。 Historical Job 加了Applied的显示和详细。 郝 识别引擎监控 Ps (iCDA LOG :剔除了160篇ASG_BLANK之后的结果): LOG_File 20161110.txt BLANK_CDA/ALL 45/10…

SpringAI系列4: Tool Calling 工具调用 【感觉这版本有bug】

前言:在最近发布的 Spring AI 1.0.0.M6 版本中,其中一个重大变化是 Function Calling 被废弃,被 Tool Calling 取代。Tool Calling工具调用(也称为函数调用)是AI应用中的常见模式,允许模型通过一组API或工具…

第六十三节:深度学习-模型推理与后处理

深度学习模型训练完成后,如何高效地将其部署到实际应用中并进行准确预测?这正是模型推理与后处理的核心任务。OpenCV 的 dnn 模块为此提供了强大支持,本文将深入探讨 OpenCV 在深度学习模型推理与后处理中的关键技术与实践。 第一部分:基础概念与环境搭建 1.1 核心概念解析…

uniapp开发企业微信小程序时 wx.qy.login 在uniapp中使用的时候,需要导包吗?

在 UniApp 中使用 “wx.qy.login” 不需要手动导包,但需要满足以下条件: 一、环境要求与配置 1� 企业微信环境判断 必须确保当前运行环境是企业微信客户端,通过 “uni.getSystemInfoSync().environment” 判断是否为 “wxwork”…

ONLYOFFICE文档API:更强的安全功能

在数字化办公时代,文档的安全性与隐私保护已成为企业和个人用户的核心关切。如何确保信息在存储、传输及协作过程中的安全,是开发者与IT管理者亟需解决的问题。ONLYOFFICE作为一款功能强大的开源办公套件,不仅提供了高效的文档编辑与协作体验…

Linux系统编程之共享内存

概述 在Linux系统中,共享内存也是一种高效的进程间通信机制,允许两个或多个进程共享同一块物理内存区域。通过这种方式,不同进程可以直接访问和操作相同的数据,从而避免了数据的复制。由于数据直接在内存中共享,没有额…

零知开源——STM32F407VET6驱动Flappy Bird游戏教程

简介 本教程使用STM32F407VET6零知增强板驱动3.5寸TFT触摸屏实现经典Flappy Bird游戏。通过触摸屏控制小鸟跳跃,躲避障碍物柱体,挑战最高分。项目涉及STM32底层驱动、图形库移植、触摸控制和游戏逻辑设计。 目录 简介 一、硬件准备 二、软件架构 三、…

Elasticsearch创建快照仓库报错处理

创建快照仓库报错: 根据报错提示的信息,问题可能出在 Elasticsearch 的配置中。当你尝试创建一个文件系统(fs)类型的快照仓库时,虽然已经指定了 location 参数,但 Elasticsearch 仍然报错,这通…

服务器如何配置防火墙管理端口访问?

配置服务器防火墙来管理端口访问,是保障云服务器安全的核心步骤。下面我将根据你使用的不同操作系统(Linux: Ubuntu/Debian/CentOS;Windows Server)介绍常用防火墙配置方法。 ✅ 一、Linux 防火墙配置(UFW / firewalld…

Redis最佳实践——安全与稳定性保障之连接池管理详解

Redis 在电商应用的连接池管理全面详解 一、连接池核心原理与架构 1. 连接池工作模型 #mermaid-svg-G7I3ukCljlJZAXaA {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-G7I3ukCljlJZAXaA .error-icon{fill:#552222;}…

打印机无法远程打印?可以本地打印,本地网络打印机设置给异地使用

很多小伙伴常有打印、远程打印的需求,特别是对于电商人、跨境电商、教师、产品经理、实验人员等群体来说掌握这项技能可谓是能够在很多场景下带来便捷,大幅提升做事效率!打印机是家庭和企业经常用到的设备,很多情况下会遇到本地可…

【Linux】进程地址空间揭秘(初步认识)

10.进程地址空间(初步认识) 文章目录 10.进程地址空间(初步认识)一、进程地址空间的实验现象解析二、进程地址空间三、虚拟内存管理补充:数据的写时拷贝(浅谈)补充:页表(…

深入探讨redis:主从复制

前言 如果某个服务器程序,只部署在一个物理服务器上就可能会面临一下问题(单点问题) 可用性问题,如果这个机器挂了,那么对应的客户端服务也相继断开性能/支持的并发量有限 所以为了解决这些问题,就要引入分布式系统&#xff0c…

MacOS安装Docker Desktop并汉化

1. 安装Docker Desktop 到Docker Desktop For Mac下载对应系统的Docker Desktop 安装包,下载后安装,没有账号需要注册,然后登陆即可。 2. 汉化 前往汉化包下载链接下载对应系统的.asar文件 然后将安装好的文件覆盖原先的文件app.asar文件…

索引的选择与Change Buffer

1. 索引选择与Change Buffer 问题引出:普通索引 vs 唯一索引 ——如何选择? 在实际业务中,如果一个字段的值天然具有唯一性(如身份证号),并且业务代码已确保无重复写入,那就存在两种选择&…

lua注意事项

感觉是lua的一大坑啊,它还不如函数内部就局部变量呢 注意函数等内部,全部给加上local得了