Java学习day-15:常用类

一、String类:

String对象代表不可变的Unicode字符序,String对象的内部成员变量的值被赋值后无法改变;

1.String类的底层结构:

String类的底层数据结构是char类型的数组;

String的相应方法的实现实际上就是对数组的一个操作;

2.String的常用方法:

2.StringBuffer和StringBuilder类:

StringBuffer和StringBuilder非常类似,均代表可变的字符序列。 这两个类都是抽象类AbstractStringBuilder的子类,方法几乎一模一样。

(1)二者的区别:

StringBuffer:线程安全,做线程同步检查,效率较低;适合多线程。

StringBuilder:线程不安全,不做线程同步检查,因此效率较高;适合单线程。

(2)常用方法:

1)append()方法:可以为该StringBuilder 对象添加字符序列,仍然返回自身对象。

2)index(String str):返回指定子字符串第一次出现的字符串内的索引。

3)charAt(int index):返回char在指定索引在这个序列值。

代码截图
结果

3.可变字符和不可变字符

(1)String:不可变字符序列;StringBuffer和StringBuilder可变字符序列;

(2)在频繁修改字符串时StringBuffer的效率更高;

代码截图
结果

二、Date时间类:

类Date表示特定的瞬间,精确到毫秒;

在 JDK 1.1 之前,类Date有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和解析日期字符串。

从 JDK 1.1 开始,应该使用Calendar类实现日期和时间字段之间转换,使用DateFormat类来格式化和解析日期字符串。Date中的相应方法已废弃。

1.Date类的常用方法:

1)getTime():返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此Date对象表示的毫秒数;

2)setTime():设置此Date对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后time毫秒的时间点。

3)after(Date when):测试此日期是否在指定日期之后;

4)before(Date when):测试此日期是否在指定日期之前。

5)equals(Object  obj):比较两个日期的相等性。

代码截图
结果

2.DateFormat类和SimpleDataFormat类:

(1)DateFormat 类:

是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期时间。

(2)常用方法:

1)format(Date date,StringBuffer toAppend,ToFilePosition fieldPosition)将一个 Date 格式化为日期/时间字符串。

2)getNumberFormat():获取此日期/时间格式器用于格式化和解析时间的数字格式器。

3)getDateInstance():获取日期格式器,该格式器具有默认语言环境的默认格式化风格。

4)parse(String source):从给定字符串的开始解析文本,以生成一个日期。

(2)SimpleDateFormatSimpleDateFormat类:

是一个以与语言环境有关的方式来格式化和解析日期的具体类。它继承了抽象类DateFormat并继承了DateFormat的方法,允许进行格式化(日期 -> 文本)、(文本 -> 日期)和规范化。

(3)二者的关系:

DateFormat是日期时间格式化子类的抽象类;SimpleDateFormat是DateFormat的子类;SimlepDateFormat是一个与语言环境有关的方式和解析日期的具体类。

代码截图
结果

三、Calendar类:

1.Calendar类:

Calendar 类是一个抽象类,为我们提供了关于日期计算的相关功能,比如:年、月、日、时、分、秒的展示和计算。

2.GregorianCalendar类:

GregorianCalendar是Calendar的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。

(1)常用方法:

1)add(int field, int amount):根据日历规则,将指定的(有符号的)时间量添加到给定的日历字段中。

2)set(int year, int month, int date, int hourOfDay, int minute, int second):设置字段YEAR、MONTH、DAY_OF_MONTH、HOUR、MINUTE和SECOND的值。

3)get(int field)返回给定日历字段的值。

4)getAvtualMaximum(int field):给定此Calendar的时间值,返回指定日历字段可能拥有的最大值。

代码截图
结果

(2)可视化日历的编写:

代码截图
结果

四、Math类:

1.Math类常用的方法:

(1)abs:求绝对值;

(2)sqrt:平方根;

(3)pow(double a, double b):求a的b次幂;

(4)max(double a,double b):取大值;

(5)min(double a,double b):取小值;

(6)random() 返回 0.0 到 1.0 的随机数;

2.静态导入:Import static java.lang.Math.*;

代码截图
结果


五、File类:

1.File类的作用:

文件和目录路径名的抽象表示形式;代表文件和目录;在开发中,读取文件,生成文件,删除文件,修改文件的属性时经常会用到。

2.File类操作目录和文件的常用方法:

(1)通过文件对象访问文件属性:

代码截图
结果

(2)通过文件对象创建空文件或目录

代码截图
结果

3.使用递归遍历目录树:

代码截图
结果

六、枚举:

(1)枚举类型的定义包括枚举声明和枚举体。

enum枚举名 {

      枚举体(常量列表)

}

(2)枚举的实质还是类;每个被枚举的成员实质就是一个枚举类型的实例,都是public static final修饰;通过枚举类型名直接调用。

(3)当需要定义一组常量时,可以使用枚举类型;

代码截图
结果

你可能感兴趣的:(Java学习day-15:常用类)