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

头歌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.xdnf.cn/news/10292.html

相关文章:

  • C++语法系列之右值
  • vedio.ontimeupdate()和video.onloadeddata()
  • C++二叉树常见OJ题分析
  • 2025-05-31 Python深度学习10——模型训练流程
  • 一些常用的命令
  • 1.JS逆向简介
  • JSR 303(即 Bean Validation)是一个通过​​注解在 Java Bean 上定义和执行验证规则​​的规范
  • 704SJBH蓝天影院订票网站的设计
  • 极智项目 | 多模态大模型推理平台-Streamlit版(支持Qwen2.5/InternVL3/KimiVL三大模型)
  • b. 组合数
  • 第3节 Node.js 创建第一个应用
  • 六.MySQL增删查改
  • JWT 入门
  • 利用nginx完成iframe请求的身份认证
  • 【NLP 78、手搓Transformer模型结构】
  • Namespace 命名空间的使用
  • (7)-Fiddler抓包-Fiddler状态面板-QuickExec命令行
  • 项目日记 -Qt音乐播放器 -搜索模块
  • 如何手搓扫雷(待扩展)
  • pytest中的元类思想与实战应用
  • C++基础算法————贪心
  • Kafka 如何保证不重复消费
  • Linux搭建DNS服务器
  • BLE协议全景图:从0开始理解低功耗蓝牙
  • 堆与堆排序及 Top-K 问题解析:从原理到实践
  • 玩客云WS1608控制LED灯的颜色
  • 光电设计大赛智能车激光对抗方案分享:低成本高效备赛攻略
  • C 语言栈实现详解:从原理到动态扩容与工程化应用(含顺序/链式对比、函数调用栈、表达式求值等)
  • python连接邮箱的协议选择
  • C语言结构体的别名与创建结构体变量