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

头歌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));} 
}

相关文章:

  • 【python】uv管理器
  • 传统液晶瓶颈待破?铁电液晶如何实现显示技术逆袭
  • HomeKit 基本理解
  • 蓝桥杯java2021年十二届国赛大学A组真题答案整理
  • 如何手搓扫雷(待扩展)
  • [SC]SystemC在CPU/GPU验证中的应用(四)
  • JSR 303(即 Bean Validation)是一个通过​​注解在 Java Bean 上定义和执行验证规则​​的规范
  • C++ 的四种强制类型转换:static_cast、dynamic_cast、const_cast 和 reinterpret_cast
  • LXQt修改开始菜单高亮
  • NW969NW978美光闪存颗粒NW980NW984
  • python连接邮箱的协议选择
  • fork函数小解
  • 学习笔记:3个学习AI路上反复看到的概念:RAG,Langchain,Agent
  • 二叉搜索树——红黑树
  • 投稿Cover Letter怎么写
  • 简单cnn
  • Deepin 20.9社区版安装Docker
  • c++第四课(基础c)——布尔变量
  • 深入Java性能调优:原理详解与实战
  • Linux基本指令/下
  • 做网站推广有用吗/爱站关键词搜索
  • 如何查询网站是谁做的/查看别人网站的访问量
  • 泊头市有做网站的吗/如何免费推广网站
  • 巴西网站域名/网页在线秒收录
  • 竞价推广直通车/宁波seo深度优化平台
  • 网站不备案怎么回事/新东方考研培训机构官网