资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 软件开发 > 后端开发 > Java

第十一章总结

Java 更新时间: 发布时间: 计算机考试归档 最新发布

第十一章总结

一、包装类

Java 是一种面向对象语言,但在 Java 中不能定义基本数据类型的对象,为了能将基本数据类型视
为对象进行处理,Java 提出了包装类的概念,它主要是将基本数据类型封装在包装类中,如int 型的包装类 Integer、 boolcan 的类 Boolean 等,这样便可以把这些基本数据类型转换为对象进行处理。Java 中的包装类及其对应的基本数据类型如表 11.1 所示。

说明: Java是可以直接处理基本数据类型的,但在有些情况下需要将其作为对象来处理,这时就需将其转换为包装类了,这里的包装类相当于基本数据类型与对象类型之间的一个桥梁。由于包装类和基本数据类型间的转换,引入了装箱和拆箱的概念:装箱就是将基本数据类型转换为包装类,而拆箱就是将包装类转换为基本数据类型,这里只需要简单了解这两个概念即可。

11.1.1 Integer类

 java.lang 包中的 Integer 类、Byte 类、Short 类和 Long 类,分别将基本数据类型 int、byte、 short和long 封装成一个类,由于这些类都是 Number 类的子类,区别就是封装不同的数据类型,其包含的方法基本相同,所以本节以 Imteger 类为例讲解整数包装类。

Integer 类在对象中包装了一个基本数据类型 int 的值,该类的对象包含一个 int 类型的字段。此外,该类提供了多个方法,能在 int 类型和 String 类型之间瓦相转换,同时还提供了其他一些处理 int类型时非常有用的常量和方法。Integer 类的常用方法如表 11.2 所示 。

 下面通过一个实例演示 Integer 类的常用方法的使用。

【[例11.1】Integer 类的常用方法

package Package11;public class IntegerDemo {	public static void main(String[] args) {		int num = Integer.parseInt("456");//将字符串转换为int类型		Integer iNum = Integer.valueOf("456");//创建一个Integer对象		System.out.println("int数据与Integer对象的比较:"+iNum.equals(num));		String str2 = Integer.toBinaryString(num);//获取数字的二进制表示		String str3 = Integer.toHexString(num);//获取数字的十六进制表示		String str4 = Integer.toOctalString(num);//获取数字的八进制表示		String str5 = Integer.toString(num,15);//获取数字的十五进制表示		System.out.println("456的二进制表示为:"+str2);		System.out.println("456的十六进制表示为:"+str3);		System.out.println("456的八进制表示为:"+str4);		System.out.println("456的十五进制表示为:"+str5);	}}

结果:

 Integer 类提供了以下4个常量:

MAX VALUE: 表示 int 类型可取的最大值,即 2的31次方-1。
MIN VALUE:表示 int 类型可取的最小值,即-2的31次方。
SIZE:用来以二进制补码形式表示 int 值的位数。
TYPE: 表示基本类型 int的 Class 实例。

 【例11.2】查看 Integer 类的常量值

package Package11;public class GetCon {	public static void main(String[] args) {		int maxint = Integer.MAX_VALUE;//获取Integer类的常量		int minint = Integer.MIN_VALUE;		int intsize = Integer.SIZE;		System.out.println("int类型可取的最大值:"+maxint);//将常量值输出		System.out.println("int类型可取的最小值:"+minint);		System.out.println("int类型二进制位数是:"+intsize);	}}

 结果:

 11.1.2 Double 类

 Double 类和 Float类是对 double、float 基本类型的封装,它们都是 Number 类的子类,都是对浮点数进行操作,所以常用方法基本相同,本节将对 Double 类进行讲解。对于 Float 类,可以参考 Double类的相关内容。

 Double 类在对象中包装一个基本类型为 double 的值,每个 Double 类的对象都包含一个 double类型的字段。此外,该类还提供多个方法,可以将 double 类型转换为 String 类型,将 String 类型转换为 double类型,也提供了其他一些处理 double 类型时有用的常量和方法。Double 类的常用方法如表 11.3 所示。

下面通过一个实例演示 Double 类的常用方法的使用。
【例11.3】 Double类的常用方法

package Package11;public class DoubleDemo {	public static void main(String[] args) {		Double dNum = Double.valueOf("3.14");//创建一个Double对象		//判断是否为非数字值		System.out.println("3.14是否为非数字值:"+Double.isNaN(dNum.doubleValue()));		System.out.println("3.14转换为int值为:"+dNum.intValue());//转换为int类型		//判断大小		System.out.println("值为3.14的Double对象与3.14的比较结果:"+dNum.equals(3.14));		//转换为十六进制		System.out.println("3.14的十六进制表示为:"+Double.toHexString(dNum));	}}

 结果:

 Double 类主要提供了以下常量:

MAX EXPONENT:返回it 值,表示有限 double 变量可能具有的最大指数。

MIN EXPONENT:返回 int 值,表示标准化 double 变量可能具有的最小指数。

NEGATIVE INFINITY:返回 double 值,表示保存 double 类型的负无穷大值的常量。

POSITIVE INFINITY:返回 double 值,表示保存 double 类型的正无穷大值的常量。

11.13 Boolean类

Boolean 类将基本类型为 boolean 的值包装在一个对象中。一个 Boolean 类型的对象只包含一个类型为 boolean 的字段。此外,此类还为 boolean 类型和 String 类型的相互转换提供了许多方法,并提供了处理 boolean 类型时非常有用的其他一些常量和方法。Boolean 类的常用方法如表 11.4 所示。

【例11.4]】Boolean 类的常用方法

package Package11;public class BooleanDemo {	public static void main(String[] args) {		Boolean b1 = Boolean.valueOf("true");//创建Boolean对象		Boolean b2 = Boolean.valueOf("ok");		System.out.println("b1:"+b1.booleanValue());		System.out.println("b2:"+b2.booleanValue());	}}

 结果:

11.1.4 Character 类

Character 类在对象中包装一个基本类型为 char 的值,该类提供了多种方法,以确定字符的类别(小写字母、数字等),并可以很方便地将字符从大写转换成小写,反之亦然。Character 类提供了很多方法来完成对字符的操作,常用的方法如表 11.5 所示。

下面通过实例来演示 Character 类的大小写转换方法的使用,其他方法的使用与其类似。

【例11.5】Character 类的常用方法

package Package11;public class UpperOrLower {	public static void main(String[] args) {		Character mychar1 = Character.valueOf('A');		Character mychar2 = Character.valueOf('a');		if(Character.isUpperCase(mychar1)) {//判断是否为大写字母			System.out.println(mychar1 + "是大写字母");			//转换为小写并输出			System.out.println("转换为小写字母的结果:" + Character.toLowerCase(mychar1));					}		if(Character.isLowerCase(mychar2)) {//判断是否为小写字母			System.out.println(mychar2 + "是小写字母");			//转换为大写并输出			System.out.println("转换为大写字母的结果:" + Character.toUpperCase(mychar2));		}	}}

结果:

 Character 类提供了大量表示特定字符的常量,例如:

CONNECTOR PUNCTUATION:返回 bvte 型值,表示 Unicode 规范中的常规类别“Pc”。

UNASSIGNED:返回 byte 型值,表示 Unicode 规范中的常规类别“Cn”。

TITLECASE_LETTER: 返回 byte 型值,表示 Unicode 规范中的常规类别“Lt”。

 说明:Character 类提供的常量有很多,详细列表可查看 Java API文档。

11.1.5Number 类

前面介绍了 Java 中的包装类,对于数值型的包装类,它们有一个共同的父类一Number 类,该类是一个抽象类,它是 Bvte、Integer、Short、Long、Float 和 Double 类的父类,其子类必须提供将表示的数值转换为 bvteint、short、long、flat 和 double 的方法。例如,doubleValue0方法返回双精度浮点值,floatValue0方法返回单精度浮点值,这些方法如表 11.6 所示。

Number 类的方法分别被其各子类所实现,也就是说,在 Number 类的所有子类中都包含以上这几种方法。

 二、数字处理

在Java 语言中,提供了一个执行数学基本运算的 Math 类,该类包括常用的数学运算方法,如三角函数方法、指数函数方法、对数函数方法、平方根函数方法等一些常用数学函数方法。除此之外还提供了一些常用的数学常量,如 PI、E 等。本节将讲解 Math 类以及其中的一些常用方法。
在实际开发中,随机数的使用是很普遍的,所以要掌握生成随机数的操作。在 Java 中主要提供了两种生成随机数的方式,分别为调用 Math 类的 random0方法生成随机数和调用 Random 类生成各种据类型的随机数。
在Java 中,还提供了大数字的操作类,即 java,mathBigInteger 类与 javamath.BigDecimal类。这两个类用于高精度计算,其中 BigInteger 类是针对大整数的处理类,而 BigDecimal类则是针对大小数的处理类。

11.2.1数字格式化

数字格式化在解决实际问题时应用非常普遍,如表示某超市的商品价格,需要保留两位有效数字,数字格式化操作主要针对的是浮点型数据,包括 double 型和 float 型数据。在 Java 中使用 java.text.DecimalFormat 格式化数字,本节将着重讲解 DecimalFormat 类。

在 Java 中,没有格式化的数据遵循以下原则:

如果数据绝对值大于 0.001 并且小于 10000000,使以常规小数形式表示.
如果数据绝对值小于 0.001 或者大于 10000000,使用科学记数法表示。

由于上述输出格式不能满足解决实际问题的要求,通常将结果格式化为指定形式后输出。在 Java中,可以使用 DecimalFormat 类进行格式化操作。
DecimalFormat 类是 NumberFormat 的一个子类,用于格式化十进制数字。它可以将一些数字格式化为整数、浮点数、百分数等。通过使用该类可以为要输出的数字加上单位或控制数字的精度。一般情况下,可以在实例化 DecimalFormat 对象时传递数字格式,也可以通过 DecimalFormat 类中applyPattemn0方法来实现数字格式化。

当格式化数字时,可在 DeimalFormat 类中使用一些特殊字符构成一个格式化模板,使数字按照一定的特殊字符规则进行匹配。表 11.7 列举了格式化模板中的特殊字符及其所代表的含义.

下面以实例说明数字格式化的使用。

【例11.6】DecimalFormat类的常用方法

package Package11;import java.text.DecimalFormat;public class DecimalFormatSimpleDemo{	static public void SimgleFormat(String pattern,double value) {		DecimalFormat myFormat = new DecimalFormat(pattern);//实例化DecimalMformat对象		String output = myFormat.format(value);//将数字进行格式化		System.out.println(value +""+ pattern +""+ output);	}	static public void UseApplyPatternMethodFormat(String pattern,double value) {		DecimalFormat myFormat = new DecimalFormat();//实例化DecimalFormat对象		myFormat.applyPattern(pattern);//调用applyPattern()方法设置格式化模板		System.out.println(value +""+ pattern +""+ myFormat.format(value));	}	public static void main(String[] args) {		SimgleFormat("###,###.###",123456.789);//调用静态SimgleFormat()方法		SimgleFormat("00000000.###kg",123456.789);//在数字后加上单位		//按照格式模板格式化数字,不存在的位以0显示		SimgleFormat("000000.000",123.78);		//调用静态UseApplyPatternMethodFormat()方法		UseApplyPatternMethodFormat("#.###%",0.789);//将数字转换为百分数形式		UseApplyPatternMethodFormat("###.##",123456.789);//将小数点后格式化为两位		UseApplyPatternMethodFormat("0.00u2023",0.789);//将数字转换为千分数形式	}}

结果:

 

转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/1096342.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【第十一章总结】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2