日期相关类
Date类
表示特定的瞬间,精确到毫秒,他可以通过方法来设定自己所表示的时间,可以表示任意的时间
Date类的构造方法
Date() :创建的是一个表示当前系统时间的Date对象
Date(long date) :根据”指定时间”创建Date对象一旦使用这个构造方法,那么时间就是从1970年1月1号的8点0分0秒开始,加上括号内给定的毫秒,而不是从当前时间开始累加
Date类常用方法
void setTime(long time):设置当前时间,调用此方法时,默认时间从1970年1月1日8点0分0秒开始加上给的时间
long getTime():获取到的是毫秒值
DateFormat类 & SimpleDateFormat
- DateFormat:
一个抽象类,用于格式化时间和日期的类 - SimpleDateFormat
是DateFormat的实现类,用于格式化时间和日期的类,将日期转换为我们想要的格式——Date—–String的转换;或者将字符串转换为Date
DateFormat&SimpleDateFormat的常用方法
- DateFormat
// 一下两个方法都是先通过SimpleDateFormat的有参构造方法设置转换格式之后,在通过SimpleDateFormat的向上转型调用实现的
format(Date date); // 将日期对象转换为指定的格式
parse(String source); // 将字符串转换为日期对象
- SimpleDateFormat
SimpleDateFormat(String pattern); // 设置转换格式
结合使用的结果如下
这里特别注意,SimpleDateFomat这个类的有参构造中的几个英文字母是固定的,不可更改,具体规则请查看API
Calendar类
是日历类,也是一个抽象类,可通过其自身的静态方法getInstance()方法创建对象
- Calendar类常用方法
getInstance(); // 获取一个Calendar的对象
get(int field); // 返回给定日历字段的值,一般使用对象.年/月/日....来获取对应字段的值
set(int field, int value); // 把指定的字段修改成指定的值
add(int field, int amount); // 在指定的字段上加上指定的值
这里需要注意,月份是从0开始的,所以使用的时候需要给月份加1
包装类&正则表达式
包装类
java将基本数据类型值封装成了对象。可以提供更多的操作基本数值的功能。
8种基本类型对应的包装类如下:
这里需要注意一下,int的包装类是Integer,char的包装类是Character,其他六个都是首字母大写
- Integer的常用方法
// 构造方法:
Integer(int value); // 创建一个Integer对象,这个对象的值就是括号中给定的值
Integer(String s); // 创建一个Integer对象,这个对象的值就是括号中给定的值
下面的构造方法中的参数,只能是字符串类型的数字,其他值会报错
// 成员方法:
intValue(); // 以int类型返回该Integer的值
parseInt(String s); // 将参数作为有符号的的整数返回
toString(); // 返回一个表示该Integer值得String对象
包装类的自动装箱与拆箱
因为在java中对象是无法进行加减乘除运算的,所以就有了自动装箱与拆箱,这是jdk1.5的特性,为了实现对象能够运算
自动拆箱:对象转成基本数值
自动装箱:基本数值转成对象
//自动装箱
//相当于: Integer i = new Integer(10);
//Integer i = 10;
//自动拆箱
//相当于 int a = i.intValue();
//Integer i = 10;
//int a = i;
正则表达式
正则表达式概述
正则表达式是专门解决字符串规则匹配的工具。
正则表达式也是一个字符串,用来定义匹配规则。
参照正则表达式帮助文档
/**
* 判断数字:首位不能为3,长度在3-7之间,全部为数字
*/
// 创建一个字符串对象,因为使用正则表达式需要通过字符串对象调用matches方法
String s = "1236";
// 调用matches方法,并设置规则
boolean matches = s.matches("[^3][0-9]{2,6}");
// 将匹配结果打印
System.out.println(matches);