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

头歌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.lryc.cn/news/2394283.html

相关文章:

  • 经济法-7-上市公司首次发行、配股增发条件
  • PyTorch中nn.Module详解
  • Mac 每日磁盘写入量异常高
  • 《深入解析Go语言结构:简洁高效的工程化设计》
  • [蓝桥杯]机器人塔
  • 如何将vue2使用npm run build打包好的文件上传到服务器
  • Ubuntu 22.04 系统下 Docker 安装与配置全指南
  • 动态表单开发避坑:改变input的值不会触发change事件即时修复策略-WdatePicker ——仙盟创梦IDE
  • 10.安卓逆向2-frida hook技术-frida基本使用-frida指令(用于hook)
  • 动态设置微信小程序页面标题(navigationBarTitleText属性)
  • 前端流式接收数据讲解
  • Flutter下的一点实践
  • Python训练营打卡 Day41
  • Eclipse集成lombok
  • 什么是trace,分布式链路追踪(Distributed Tracing)
  • VScode ios 模拟器安装cocoapods
  • Redis最佳实践——安全与稳定性保障之数据持久化详解
  • 互联网大厂Java求职面试实战:Spring Boot微服务架构及Kafka消息处理示例解析
  • K 值选对,准确率翻倍:KNN 算法调参的黄金法则
  • 技术栈ES的介绍和使用
  • 跟Gemini学做PPT-模板样式的下载
  • Windows版本的postgres安装插件http
  • uni-app学习笔记十六-vue3页面生命周期(三)
  • 优化的两极:凸优化与非凸优化的理论、应用与挑战
  • (五)MMA(OpenTelemetry/Rabbit MQ/ApiGateway/MongoDB)
  • TCP通信与MQTT协议的关系
  • AWS创建github相关的角色
  • 数据编辑器所具备的数据整理功能​
  • Unity网络开发实践项目
  • Jetson Orin Nano - SONY imx415 camera驱动开发