JavaSE入门学习30:Java常用类之包装类
一包装类
我们对基本数据类型都非常熟悉,例如int、float、double、boolean、char等。基本数据类型是不具备对象的特性
的,比如基本类型不能调用方法、功能简单。为了让基本数据类型也具备对象的特性,Java为每个基本数据类型都提
供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型。
包装类(如:Integer,Double等)这些类封装一个相应的基本数据类型数值,并为其提供了一系列操作。
基本类型和包装类之间的对应关系:
包装类主要提供了两大类方法:
1将本类型和其他基本类型进行转换的方法;
2将字符串和本类型及包装类互相转换的方法。
二Integer包装类
我们以java.lang.Integer包装类为例,来看下包装类的特性。
Integer包装类的构造方法:
如下代码所示:
Integer包装类的常用方法:
实例:
public class Test{public static void main(String args[]){//定义int类型变量,值为86int score1 = 86; //创建Integer包装类对象,表示变量score1的值Integer score2=new Integer(score1);//将Integer包装类转换为double类型double score3=score2.doubleValue();//将Integer包装类转换为float类型float score4=score2.floatValue();//将Integer包装类转换为int类型int score5 =score2.intValue();//输出结果System.out.println("Integer包装类:" + score2);System.out.println("double类型:" + score3);System.out.println("float类型:" + score4);System.out.println("int类型:" + score5);}
}
编译运行结果:
三基本类型和包装类之间的转换
基本类型和包装类之间经常需要互相转换,还是以Integer包装类为例来进行讲解,其他包装类的用法基本相似。
看下面的代码示例:
在JDK1.5引入自动装箱和拆箱的机制后,包装类和基本类型之间的转换就更加轻松便利了。那什么是装箱和拆箱
呢?我们分别来看下:
装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱。
拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱。
实例:
public class Test{public static void main(String args[]){//定义double类型变量double a = 91.5;//手动装箱Double b = new Double(a); //自动装箱Double c = a; System.out.println("装箱后的结果为:" + b + "和" + c);//定义一个Double包装类对象,值为8Double d = new Double(87.0);//手动拆箱double e = d.doubleValue();//自动拆箱double f = d;System.out.println("拆箱后的结果为:" + e + "和" + f);}
}
编译运行结果:
四基本类型和字符串之间的转换
在程序开发中,我们经常需要在基本数据类型和字符串之间进行转换。其中,基本类型转换为字符串有三种法:
1使用包装类的toString()方法;
2使用String类的valueOf()方法;
3用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串。
再来看,将字符串转换成基本类型有两种方法:
1调用包装类的parseXxx静态方法;
2调用包装类的valueOf()方法转换为基本类型的包装类,会自动拆箱。
其他基本类型与字符串的相互转化这里不再一一列出,方法都类似。
实例:
public class Test{public static void main(String args[]){double m = 78.5;//将基本类型转换为字符串String str1 = Double.toString(m);System.out.println("m 转换为String型后与整数20的求和结果为: "+(str1+20));String str = "180.20";//将字符串转换为基本类型Double a = Double.valueOf(str);System.out.println("str 转换为double型后与整数20的求和结果为: "+(a+20));}
}
编译运行结果:
五包装类总结
(1)所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类Number的子类。
Number类的成员方法:
(2)Character类
1转义序列
前面有反斜杠(\)的字符代表转义字符,它对编译器来说是有特殊含义的。下面列表展示了Java的转义序列:
2Character类的成员方法:
JavaSE入门学习30:Java常用类之包装类相关推荐
- 这些Java常用类,你必须要学会,还不快快收藏?(近两万字详细介绍)
零基础学习之Java常用类 概述 包装类 和数学相关的类 String类 创建字符串对象 使用构造方法 使用静态方法 使用" " + 拼接 字符串对象的比较 字符串的常用方法 可变 ...
- Java常用类(谷粒商城学习记录)
Java常用类 谷粒商城学习记录 谷粒商城学习记录 谷粒商城学习记录 干嘛老是提示我与别人的文章相似呢?真的是我自己整理的啊啊啊 老是提示与这个文章相似 https://blog.csdn.net/c ...
- Linux中的Java类,Java基础入门学习-Java中类的属性
Java基础入门学习-Java中类的属性 发布时间:2006-05-27 00:46:15来源:红联作者:WWW Public.private.protected显示了三种类中的属性和服务的类型,pu ...
- 学习-Java常用类之Calendar类
第1关:学习-Java常用类之Calendar类 任务描述 本关任务:获取给定年月的最后一天. 相关知识 我们通过之前的学习已经能够格式化并创建一个日期对象了,但是我们如何才能设置和获取日期数据的特定 ...
- 【java】java学习笔记之java常用类
如下图所示为笔者总结的java常用类学习笔记,其中,附带有代码示例(未展开),方便理解记忆.需要源文件的请到我的资源中下载,下载地址:https://download.csdn.net/downloa ...
- 21天学通Java学习笔记-Day11(常用类)
java 常用类(重点): String 类: String 类代表字符串.创建以后不能更变. public class tests { public static void main(String[ ...
- JavaSE入门0之java起源与发展历程
JavaSE入门0之java起源与发展历程 文章目录 JavaSE入门0之java起源与发展历程 前言 1.Java的起源 2.Java和互联网 3.java历史 4.java语言特点 5.java应 ...
- Java基础-->一篇讲全Java常用类(详细易懂,建议收藏)
Java基础–>一篇讲全Java常用类(详细易懂,建议收藏) 文章目录 Java基础-->一篇讲全Java常用类(详细易懂,建议收藏) 1.字符串相关的类 String类 概述 创建Str ...
- 第八章笔记 Java常用类
第八章笔记 Java常用类 文章目录 第八章笔记 Java常用类 第一节 Java类库概述 Java类库文档 Java类库列表 第二节 数字相关类 Java数字类 大数字类 随机数类 数字工具类 第三 ...
最新文章
- linux命令注入,Linux kernel本地命令注入漏洞
- AS3与lua之间的交互
- c加加中print是什么意思_砖家财经:基金名字后面的A、B和C,分别代表什么意思?...
- List of Javascript Library / Ajax Framework / Web Application Framework
- 抽象 java 1614868764
- 直播预告:WLS/WAS故障基本分析介绍
- c 直接访问mysql_C语言访问MySQL数据库的方法
- linux终端 美化 git,linux终端美化oh-my-zsh
- ICM20602互补滤波
- Visio自制直角箭头
- 设置部署服务器的运行端口,以太坊swarm配置bzz运行常见问题解决方案
- 谷歌街景地图推出“时光机”功能
- “华为杯”山东理工大学第十一届 ACM程序设计竞赛 我不是股神
- 心动的本质是什么_风动,幡动,仁者心动,到底是什么在动
- 京东商品详情查询接口V1新版接口
- 颜色大全:颜色名称和颜色值。色板、色板对照表1
- curl unmatched close brace/bracket 处理
- 3070网卡驱动linux教程,Ubuntu 12.04下RT5370无线网卡驱动安装
- 内存卡格式化了数据可以恢复吗?
- 【项目分享~写给应届生的一篇文章】基于Web企业招聘网站 ~~ 登录注册设计
热门文章
- 运算符(关系运算和逻辑运算的介绍)(其一)
- 四巨头节奏合成器豪华版-Spectrasonics Stylus RMX v1.9.9c WiN-MAC
- oracle rowid不显示,oracle 的rowid问题!
- 坏人记事本_成为电子游戏中的坏人
- 禾赛终止IPO,为谁敲响了警钟?
- 超级方便的emf图片格式转eps矢量图方法,无需任何图片转换工具!!!
- 懒汉单例模式 java_Java懒汉式单例模式详解
- MES解决方案助力「机械加工行业」精益智造
- c语言求5名同学三科平均成绩,用C语言编写,某班有5名同学,三科成绩!通过键盘输入每名同学每门课的成绩!统计每人的不及格科目,输出学号、各门成绩、不及格科目数。...
- 分别在MS-DOS和MySQL Command Line Client编写sql语句