第九章总结

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

                                               

包装类对应基本数据类型
Bytebyte
Integerint
Floatfloat
Characterchar
Shortshort
Longlong
Doubledouble
Boolean

boolean

1.Integer 类

构造方法

Integer 类有以下两种构造方法。

1)Integer (int number)
该方法以一个int型变量作为参数来获取Integer对象。

2)Integer(String str):
该方法以一个String型变量作为参数来获取Integer对象。

 

常量
   Integer 类包含以下 4 个常量。

MAX_VALUE:值为 231-1 的常量,它表示 int 类型能够表示的最大值。
MIN_VALUE:值为 -231 的常量,它表示 int 类型能够表示的最小值。
SIZE:用来以二进制补码形式表示 int 值的比特位数。
TYPE:表示基本类型 int 的 Class 实例。
 

Integer 类包含以下 4 个常量。

MAX_VALUE:值为 231-1 的常量,它表示 int 类型能够表示的最大值。
MIN_VALUE:值为 -231 的常量,它表示 int 类型能够表示的最小值。
SIZE:用来以二进制补码形式表示 int 值的比特位数。
TYPE:表示基本类型 int 的 Class 实例。

2.Double 类
 Double 类和Float 类是对double、float基本类型的封装,它们都是Number类的子类,都是对小数进行操作,所以常用方法基本相同,本节将对Double类进行介绍。对于Float类可以参考Double类的相关介绍。
        Double类在对象中包装一个基本类型为 double的值,每个Double类的对象都包含一个double类型的字段。此外,该类还提供多个方法,可以将 double 转换为 String,将 String 转换为 double,也提供了其他一些处理 double 时有用的常量和方法。

构造方法
Double类提供了以下两种构造方法来获得Double 类对象。

1)Double(double value)
基于double 参数创建 Double 类对象。
例如,以int型变量作为参数创建 Double

2)Double(String str)
该方法以一个 String 型变量作为参数来获取 Double 对象。
例如,以String型变量作为参数创建 Double对象

创建一个useDouble类,其中首先使用Double类的valueOf方法创建一个Double对象然后使用 Double 类的常用方法对该对象进行操作,并查看它们的显示结果。代码如下:

 

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

构造方法
 Boolean类提供了以下两种构造方法来获得Boolean类对象。

1)Boolean(boolean value)
该方法创建一个表示value 参数的Boolean 对象。
例如,创建一个表示value参数的Boolean对象

 2)Boolean(String str)
该方法以String变量作为参数创建 Boolean 对象。如果String参数不为null且在忽略大小写时等于true,则分配一个表示true值的Boolean 对象,否则获得一个false 值的Boolean 对象。
例如,以String变量作为参数,创建Boolean对象。

 

 

 

5.Number 类
对于数值型的包装类,它们有一个共同的父类--Number 类,该类是一个抽象类,它是Byte、Integer、Short、Long、l Float和Double类的父类,其子类必须提供将表示的数值转换为byte、int、short、long、float和do uble 的方法。例如,doubleValue()方法返回双精度值,floatValue()方法返回浮点值。
Number类的方法分别被 Number 的各子类所实现, 也就是说,在Number类的所有子类中都包含以上这几种方法。

9.2 Math 类 
1.Math 类概述
Math 类表示数学类,于java.lang 包中,由系统默认调用,该类中提供了众多数学函数方法,主要包括三角函数方法,指数函数方法,取整函数方法,取最大值、最小值以及绝对值函数方法,这些方法都被定义为 static 形式,因此在程序中可以直接通过类名进行调用。使用形式如下:

Math.数学方法

在Math类中除了函数方法之外还存在一些常用的数学常量,如 PI、E等,这些数学常量作为 Math 类的成员变量出现,调用起来也很简单。可以使用如下形式调用:

 Math.PI //表示圆周率 PI的值 
Math.E //表示自然对数底数e的值

2.常用数学运算法

三角函数方法

指数函数方法

 

取整函数方法

 

 

取最大值、最小值、绝对值函数方法

 

 

9.3 随机数
1.Math.random()方法
    在Math 类中存在一个random(方法,用于生成随机数字,该方法默认生成大于等于0.0小于 1.0的double 型随机数,即0<-Math.randomO<1.0,虽然Math.random()方法只可以生成0~1之间的 double型数字,但只要在Math.random()语句上稍加处理,就可以使用这个方法生成任意范围的随机数。
 

 

2.Random 类
        除了Math类中的random()方法可以获取随机数之外外,Java中还提供了一种可以获取随机数的方式,那就是java.util.Random类,该类表示一个随机数生成器,可以通过实例化一个Random对象创建一个随机数生成器。语法如下:

Random r=new Random();其中,r是指Random对象。 

 以这种方式实例化对象时,Java编译器以系统当前时间作为随机数生成器的种子,因为每时每刻的时间不可能相同,所以生成的随机数将不同,但是如果运行速度太快,也会生成两次运行结果相同的随机数。
同时也可以在实例化Random类对象时,设置随机数生成器的种子。语法如下: 

 Random r=new Random(seedValue);

 

9.4 日期时间类

1.Date 类

        Date类用于表示日期时间,它位于java.util包中,程序中使用该类表示时间时,需要使用其构造方法创建Date类的对象。

 

 DateFormat类是日期/时间格式化子类的抽象类,它位于java.text包中,可以按照指定的格式对日期或时间进行格式化。DateFormat提供了很多类方法,以获得基于默认或给定语言环境和多种式化风格的默认日期/时间Formatter,格式化风格包括SHORT、MEDIUMLONG和FULL 等4种,分别如下:

1)SHORT:完全为数字,如 12.13.52 或 3:30pm。

2)MEDIUM:较长,如 Jan 12,1952。
3)LONG:更长,如 January 12,1952 或 3:30:32pm。
4)FULL:完全指定,如 Tuesday、April 12、1952AD 或 3:30:42pm PST。

  另外,使用DateFormat还可以自定义日期时间的格式。要格式化一个当前语言环境下的日期,首先需要创建DateFormat 类的一个对象,由于它是抽象类,因此可以使用其静态工厂方法 getDateInstance 进行创建。语法如下:

DateFormat df = DateFormat.getDateInstance();
 使用getDateInstance获取的是该国家/地区的标准日期格式,另外,DateFormat 类还提供了一些其他静态工厂方法,例如,使用 getTimeInstance 可获取该国家/地区的时间格式,使用 getDateTimeInstance 可获取日期和时间格式。

 

2.Calendar 类
        Calendar提供了一个类方法 getInstance,以获得此类型的一个通用的对象。Calendar的getInstance方法返回一个Calendar对象,其日历字段已由当前日期和时间初始化。使用方法如下:

Calendar rightNow = Calendar.getInstance();

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值