常用类

任务

1.常用基础类
	1.1 Date类
	1.2 Calendar类
	1.3 SimpleDateFormat类
	1.4 Math类
	1.5 Random类
	1.6 Runtime类
	1.7 System类
2.枚举
	2.1 什么是枚举
	2.2 枚举结合switch的使用

目标

1.了解常用类的作用
2.掌握常用类中的常用方法
3.了解枚举的使用

第一节 常用基础类

1.1 Date类

Date表示特定的瞬间,精确到毫秒。Date类中的大部分方法都已经被Calendar类中的方法所取代。

Date类中的构造方法:

方法名描述
Date()分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
Date(long date)分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。

Date类中的成员方法:

​ 1.判断两个日期对象的前后

 

​ 2.比较两个日期对象

 

​ 3.获取时间

 

​ 4.修改时间

 

1.2 Calendar类

Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

Calendar类时抽象类不能创建对象,可以通过Calendar类中的静态getInstance方法获取对象(一个费抽象子类对象).

Calendar类中的常用静态常量属性:

属性描述(这些都是特定与日历的值)
public static final int YEAR指示年的字段数字
public static final int MONTH指示月份的字段数字
public static final int DATE指示一个月中的某天
public static final int DAY_OF_MONTH指示一个月中的某天
public static final int DAY_OF_WEEK指示一周中的某天
public static final int DAY_OF_WEEK_IN_MONTH指示当月中的第几个星期
public static final int DAY_OF_YEAR指示一年中的某天

Calendar类中常用的成员方法:

​ 1.获取一个Calendar对象:

 

​ 2.获取某个日历对象的指定属性的值:

 

​ 3.修改某个日历对象的指定属性值:

 

​ 4.获取某个属性所表示的最大、最小值

 

​ 5.获取指定Calendar对象的指定属性的最大、最小值

 

1.3 SimpleDateFormat类

SimpleDateFormat是一个以与语言环境有关的方式来格式化和解析日期的具体类。

它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。

通过SimpleDateFormat类将字符串和日期相互转换时,需要使用一些时间模式字母,常用的时间模式字母:

字母日期或时间元素示例
y1996;96
M年中的月份July;Jul;07
w年中的周数27
D年中的天数189
d月份中的天数10
aAm/pm 标记PM
H一天中的小时数(0-23)0
ham/pm 中的小时数(1-12)12
m小时中的分钟数30
s分钟中的秒数55
S毫秒数978

​ 1.格式化日期:

 

​ 2.解析日期:

 

1.4 Math类

Math类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。

Math类中的静态常量属性

属性描述
public static final E比任何其他值都更接近 e(即自然对数的底数)的double值。
public static final PI比任何其他值都更接近 pi(即圆的周长与直径之比)的double值。

Math类中常用的成员方法:

​ 1.绝对值

 

​ 2.最大、最小值

 

​ 3.幂运算

 

​ 4.平方根、立方根

 

​ 5.四舍五入

 

​ 6.随机数

 

1.5 Random类

此类的实例用于生成伪随机数流。此类使用 48 位的种子,使用线性同余公式 (linear congruential form) 对其进行了修改所得。

如果用相同的种子创建两个Random实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。

Random类中的构造方法:

方法名描述
Random()创建一个新的随机数生成器。此构造方法将随机数生成器的种子设置为某个值,该值与此构造方法的所有其他调用所用的值完全不同。
Random(long seed)使用单个 long 种子创建一个新的随机数生成器。该种子是伪随机数生成器的内部状态的初始值.

注意:若long种子确定,则在不同程序中,相同次数产生的随机数是相同的。

Random类中的常用方法:

​ 1.产生随机数

 

​ 2.修改种子

 

1.6 Runtime类

每个 Java 应用程序都有一个Runtime类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime方法获取当前运行时。

1.7 System类

System类包含一些有用的类字段和方法。它不能被实例化。

System类中的常见属性:

属性描述
public static fianl PrintStream err标准错误输出流
public static final InputStream in标准输入流
public static final PrintStream out标准输出流

System类中的常见方法:

​ 1.获取系统时间

 

​ 2.强制退出虚拟机

 

​ 3.垃圾回收处理机制:

​ gc(): 运行垃圾回收器。

第二节 枚举

2.1 什么是枚举

枚举是一个引用类型,枚举就是一个规定了取值范围的变量类型

声明枚举:

​ 格式:

​ public enum 枚举名{

​ //枚举的取值范围

​ //枚举中可以生命方法

​ }

 

注意:

2.2 枚举结合switch结构使用

代码实现:

 

总结

课前默写

1.设计一个方法,分别计算出一个字符串中字母,数字,下划线,空格和其他字符的个数

2.设计一个方法,模拟一个indexOf(int ch)方法

作业

使用Calendar完成一个万年历

要求:键盘输入一个年份和月份,控制台输出当月的日历

面试题

使用Math类产生一个随机数的方法