博学谷——让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