常用类库
Java是一种面向对象语言,Java中的类把方法与数据连接在一起,构成了自包含式的处理单元。为了提升Java程序的开发效率,Java的类包中提供了很多常用类以方便开发人员使用。正所谓,术业有专攻,在常用类中主要包含可以将基本数据类型封装起来的包装类、解决常见数学问题的Math类、生成随机数的Random类,以及处理日期时间的相关信息。
本章的知识架构及重难点如下。🚩表示重点内容,⭐表示难点内容
Java是一种面向对象语言,但在Java中不能定义基本数据类型的对象,为了能将基本数据类型视为对象进行处理,Java提出了包装类的概念,它主要是将基本数据类型封装在包装类中,如int型的包装类Integer、boolean型的包装类Booleandeng,这样便可以把这些基本数据类型转换为对象进行处理Java中的包装类及其对应的基本数据类型如下表所示:
包装类 | 对应基本数据类型 | 包装类 | 对应基本数据类型 |
Byte | byte | Short | short |
Integer | int | Long | long |
Float | float | Double | double |
Character | char | Boolean | Boolean |
说明:Java是可以直接处理基本数据类型的,但在有些情况下需要将其作为对象来处理,这时就需要将其转换为包装类了,这里的包装类相当于基本数据类型与对象类型之间的一个桥梁。由于包装类和基本数据类型间的转换,引入了装箱和拆箱的概念:装箱就是将基本数据类型转换为包装类,而拆箱就是将包装类转换为基本数据类型,这里只需要简单了解这两个概念即可。
一、包装类
1.Integer类
java.lang包中的Integer类、Byte类、Short类和Long类,分别将基本数据类型int、byte、short和long封装成一个类,由于这些类都是Number类的子类,区别就是封装不同的数据类型,其包含的方法基本相同,所以本节以Integer类为例讲解整数包装类。
Integer类在对象中包装了一个基本数据类型int的值,该类的对象包含一个int型的字段。此外,该类提供了多个方法,能在int类型和String类型之间互相转换,同时还提供了其他一些处理int类型时非常有用的常量和方法。Integer类的常用方法如下表所示。
方法 | 功能描述 |
valueOf(String str) | 返回保存指定的String值的Integer对象 |
parseInt(String str) | 返回包含在由str指定的字符串中的数字的等价整数值 |
toString() | 返回一个表示该Integer值的String对象(可指定进制基数) |
toBinaryString(int i) | 以二进制无符号整数型式返回一个整数参数的字符串表示形式 |
toHexString(int i) | 以十六进制无符号整数型式返回一个整数参数的字符串表示形式 |
toOctalString(int i) | 以八进制进制无符号整数型式返回一个整数参数的字符串表示形式 |
equals(Object IntegerObj) | 比较此对象与指定的对象是否相等 |
intValue() | 以int型返回此Integer对象 |
shortValue() | 以short型返回此Integer对象 |
byteValue() | 以byte型返回此Integer对象 |
compareTo(Integer anotheger) | 在数字上比较两个Integer对象。如果这两个值相等,则返回0;如果调用对象的数值小于anotherInteger的数值,则返回负值;如果调用对象的数值大于antherInteger的数值,则返回正值 |
下面通过一个实例演示Integer类的常用方法的使用。
例题1:Integer类的常用方法
创建一个IntegerDemo类,其中首先使用Integer类的parseInt()方法将一个字符串转换为int数据;任何创建一个Integer对象,并调用其equals()方法与转换的int数据进行比较;最后演示使用Integer类的toBinaryString()方法、toHexString()方法、toOctalString()方法和toString()方法将int数据转换为二进制、十六进制、八进制和不常使用的十五进制表示形式。
Integer类提供了以下4个常量:
MAX_VALUE:表示int类型可取的最大值,即。
MIN_VALUE:表示int类型可取的最小值,即。
SIZE:用来以二进制补码形式表示int值的位数。
TYPE:表示基本类型int的Class实例。
例题2:查看Integer类的常量值
在项目中创建GetCon类,在主方法中实现将Integer类的常量值输出。
2.Double类
Double类和Float类是对double、float基本类型的封装,它们都是Number类的子类,都是对浮点数进行操作,所以常用方法基本相同。
Double类在对象中包装一个基本数据类型为double的值,每个Double类的对象都包含一个double类型的字段。此外,该类还提供多个方法,可以将double类型转换为String类型,将String类型转换为double类型,也提供了其他一些处理double类型时有用的常量和方法。Double类的常用方法如下表所示。
方法 | 功能描述 |
valueOf(String str) | 返回保存用参数字符串str表示的double值得Double对象 |
parseDouble(String s) | 返回一个新的double值,该值被初始化为用指定String表示的值,这与Double类的valueOf方法一样 |
doubleValue() | 以double形式返回此Double对象 |
isNaN() | 如果此double值是非数字(NaN)值,则返回true;否则返回false |
intValue() | 以int形式返回double值 |
byteValue() | 以byte形式返回Double对象值(通过强制转换) |
longValue() | 以long形式返回此double的值(通过强制转换为long类型) |
compareTo(Double d) | 对两个Double对象进行数值比较。如果两个值相等,则返回0;如果调用对象的数值小于d的数值,则返回负值;如果调用对象的数值大于d的值,则返回正值 |
equals(Object obj) | 将此对象与指定的对象相比较 |
toString() | 返回此Double对象的字符串表示形式 |
toHexString(double d) | 返回double参数的十六进制字符串表示形式 |
下面通过一个实例演示Double类常用方法的使用。
例题:Double类的常用方法
创建一个DoubleDemo类,首先使用Double类的valueOf()方法创建一个Double对象,然后使用Double类的常用方法对该对象进行操作,并查看它们的显示结果。
Double类主要提供了以下常量:
MAX_EXPONENT:返回int值,表示有限double变量可能具有的最大指数。
MIN_EXPONENT:返回int值,表示标准化double变量可能具有的最小指数。
NEGATIVE_INFINITY:返回double值,表示保存double类型的负无穷大值的常量。
POSITIVE_INFINITY:返回double值,表示保存double类型的正无穷大值的常量。
3.Boolean类
Boolean类将基本类型为boolean的值包装在一个对象中。一个Boolean类型的对象只包含一个类型为boolean的字段。此类还为boolean类型和String类型的相互转换提供了许多方法,并提供了处理boolean类型时非常有用的其他一些常量和方法。Boolean类的常用方法如下表所示。
方法 | 功能描述 |
booleanValue() | 将Boolean对象的值以对应的boolean值返回 |
equals(Object obj) | 判断调用该方法的对象与obj是否相等。当且仅当参数不是null,而且与调用该方法的对象一样都表示同一个boolean值得Boolean对象时,才返回true |
barseBoolean(String s) | 将字符串参数解析为boolean值 |
toString() | 返回表示该boolean值得String对象 |
valueOf(String s) | 返回一个用指定的字符串表示的boolean值 |
例题:Boolean类的常用方法
在项目中创建BooleanDemo类,在主方法中以不同的构造方法创建Boolean对象,并调用booleanValue()方法将创建的对象重新转换为boolean类型数据输出。
Boolean提供了以下3个常量:
TRUE:对应基值true的Boolean对象。
FALSE:对应基值false的Boolean对象。
TYPE:基本类型boolean的Class对象。
4.Character类
Character类在对象中包装一个基本类型为char的值,该类提供了多种方法,以确定字符的类别(小写字母、数字等),并可以很方便地将字符从大写转换为小写,反之亦然。Character类提供了很多方法来完成对字符串地操作,常用的方法如下表所示。
方法 | 功能描述 |
valueOf(char a) | 返回保存指定char值的Character对象 |
compareTo(Character anotherCharacter) | 根据数字比较两个Character对象,若这两个对象相等则返回0 |
equals(Object obj) | 将调用该方法的对象与指定的对象相比较 |
toUpperCase(char ch) | 将字符参数转换为大写 |
toLowerCase(char ch) |
将字符参数转换为小写 |
toString() |
返回一个表示指定char值的String对象 |