第6章 JavaAPI - 补充案例 下载本文

博学谷——让IT教学更简单,让IT学习更有效

二、案例实现

public class Example14 { }

public static void main(String[] args) {

Integer x = 10; //装箱 x = x + 1;

System.out.println(\的值是:\}

运行结果如图6-17所示。

图6-17 运行结果

三、案例总结

1、 包装类都重写了Object类中的toString()方法,以字符串的形式返回被包装的基本数据类型的值。 2、 除了Character外,包装类都有valueOf(String s)方法,可以根据String类型的参数创建包装类对象,

但参数字符串s不能为null,而且字符串必须是可以解析为相应基本类型的数据,否则虽然编译通过,但运行时会报错。具体示例如下:

Integer i = Integer.valueOf(\合法 Integer i = Integer.valueOf(\不合法

3、 除了Character外,包装类都有parseXXX(String s)的静态方法,将字符串转换为对应的基本类型的

数据。参数s不能为null,而且同样必须是可以解析为相应基本类型的数据,否则虽然编译通过,但运行时会报错。具体示例如下:

int i = Integer.parseInt(\合法 Integer in = Integer.parseInt(\不合法

4、 在使用包装类对象时,要注意该对象是否为null。

案例6-15 Date类的构造方法

一、案例描述

1、 考核知识点

编号:00106009 名称:Date类

2、 练习目标

? 掌握Date类的作用以及概念。

21

博学谷——让IT教学更简单,让IT学习更有效

? 掌握如何通过Date类的构造方法创建Date对象。

3、 需求分析

在Java API中提供了一个Date类用于表示日期和时间。Date类中大部分构造方法都被声明为已过时,只有两个构造方法是建议使用的。为了让初学者了解这两个构造方法的用法,本案例将通过Date类的构造方法创建2个Date对象,并打印他们对应的值。

4、 设计思路(实现原理)

1) 编写Example15类。 2) 在main()方法中,分别利用Date的两个构造方法创建两个Date对象,并打印Date对象的值。

二、案例实现

import java.util.Date; public class Example15{ }

public static void main(String[] args) { }

// 方式一

Date d1 = new Date();

// Sat Dec 21 15:40:24 CST 2013 System.out.println(d1);

System.out.println(\//方式二

Date d2 = new Date(1387611761750L); System.out.println(d2);

System.out.println(\

运行结果如图6-18所示。

图6-18 运行结果

三、案例总结

由于Date类在设计之初,没有考虑国际化的问题,因此从 JDK 1.1 开始,Date类中相应的功能被Calendar类中的方法取代了。那么,对于Date类,只需要了解如何通过创建对象封装时间值即可

22

博学谷——让IT教学更简单,让IT学习更有效

案例6-16 Calendar类的常用方法

一、案例描述

1、 考核知识点

编号:00106010 名称:Calendar类

2、 练习目标

? 掌握Calendar类的作用以及概念。 ? 掌握如何使用Calendar类的常用方法。

3、 需求分析

从JDK1.1开始,Calendar类逐渐取代了Date类,Calendar类包含了大量操作日期和时间的方法。为了让初学者熟练掌握Calendar类中方法的用法,本案例将通过这些方法求出1998年2月份的天数。

4、 设计思路(实现原理)

1) 2) 3) 4) 5)

编写Example16类。

在main()方法中,通过静态方法getInstance()创建一个Calendar对象。 将Calendar对象的日期设置为1998年3月1日。

将Calendar对象表示的日期向前推1日,即1998年2月的最后一天。 打印2月的最后一天的数字,即1998年2月份的天数。

二、案例实现

import java.util.Calendar; public class Example16 { }

public static void main(String[] args) {

// 获取Calendar对象

Calendar c = Calendar.getInstance(); int year = 1998;

c.set(year, 2, 1);// 把日期设置为2013年3月1日 c.add(Calendar.DATE, -1);// 把日期往前推1日

System.out.println(\年2月份的天数是:\}

运行结果如图6-19所示。

图6-19 运行结果

23

博学谷——让IT教学更简单,让IT学习更有效

三、案例总结

由于Calendar对象记录月份的角标是从0开始的。因此,使用Calendar对象的set方法设置日期时,月份的数字需要减1。

案例6-17 Date和String之间的转换(DateFormat)

一、案例描述

1、 考核知识点

编号:00106011

名称:DateFormat类

2、 练习目标

? 掌握如何使用DateFormat类中的方法实现日期和特定格式字符串之间的转换。

3、 需求分析

DateFormat类中提供了日期和特定格式字符串之间转换的方法。为了让初学者掌握转换方法的使用,在案例中针对两种不同的转换方式,依次演示Date对象转换成字符串以及字符串转换成Date对象的效果。

4、 设计思路(实现原理)

1) 编写Example17类。

2) 在main()方法中,分别编写特定格式字符串与Data对象之间相互转换的过程。 3) 将转换后的结果输出。

二、案例实现

import java.util.Date; import java.text.DateFormat; public class Example17 {

public static void main(String[] args) throws Exception {

String date1 = \

//通过DateFormat的静态方法getDateInstance()方法获取Dateformat实例对象 DateFormat df1 = DateFormat.getDateInstance(); //将字符串格式的日期转成Date类型的对象 Date d1 = df1.parse(date1);

System.out.println(\将'\转换成Date类型的结果是:\System.out.println(d1);

System.out.println(\

//通过DateFormat的静态方法getDateTimeInstance()方法获取Dateformat实例对象 DateFormat df2 =

DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG); Date d2 = new Date();

24