日期类
Date类
//构造方法
Date nowTime = new Date(); //等于当前系统时间
Date nowTime = new Date(time); //距离1970年1月1日0时time毫秒的日期(可正可负)
//常用方法
public long getTime(); //获取距离1970年1月1日0时的毫秒数
Calendar类
//创建方式
Calendar calendar = Calendar.getInstance(); //等于当前系统时间
//设置日期
public final void set(int year, int month, int date);
public final void set(int year, int month, int date, int hour, int minute);
public final void set(int year, int month, int date, int hour, int minute, int second);
//获取日期具体数字
public int get(int filed);
calender.get(Calender.YEAR); //返回年份
calender.get(Calender.MONTH); //返回月份,0表示一月,以此类推
calender.get(Calender.DATE); //返回日期
calender.get(Calender.DAY_OF_WEEK); //返回周几,1为星期日,2为星期一,以此类推
//获取距离1970年1月1日0时的毫秒数
public long getTimeInMillis();
日期的格式化
调用String类的format方法可以按照指定的格式输出日期
// 年和时的两种格式比较
Date nowtime = new Date();
System.out.println(String.format("现在是:%tY年%tm月%td日%tH时%tM分%tS秒", nowtime, nowtime, nowtime, nowtime, nowtime, nowtime));
//现在是:2021年12月20日20时49分31
System.out.println(String.format("现在是:%ty年%tm月%td日%tI时%tM分%tS秒", nowtime, nowtime, nowtime, nowtime, nowtime, nowtime));
//现在是:21年12月20日08时49分31
BigInteger类
在遇到大数字题目的时候使用java的BigInteger类是很方便的,不过BigInteger类只支持整数运算
//构造方法
BigInteger(String val) //将字符串的表示的数字赋值给当前对象
//常用方法
public BigInteger add(BigInteger val) //返回当前对象与val的和
public BigInteger subtract(BigInteger val) //返回当前对象与val的差
public BigInteger multiply(BigInteger val) //返回当前对象与val的积
public BigInteger divide(BigInteger val) //返回当前对象与val的商
public BigInteger remainder(BigInteger val) //返回当前对象与val的余(取模)
public int compareTo(BigInteger val) //返回当前对象与val的比较结果,当前对象大于val返回1,等于返回0,小于返回-1
public BigInteger abs() //返回当前对象的绝对值
public BigInteger pow(int a) //返回当前对象的a次幂
public String toString() //返回当前对象的十进制表示的字符串
public String toString(int p) //返回当前对象的p进制表示的字符串
StringTokenizer和Scanner类
StringTokenizer
//构造方法
StringTokenizer(String s):分割s字符串,默认分割符为空格、换行、回车、tab等
StringTokenizer(String s, String delm): delm中的字符的任意组合都可作为分隔符
//常用方法
String nextToken():下一个分割的字符串
bool hasMoreTokens():是否还有剩余的字符串
int countTokens():返回分割出的字符串数量
Scanner
//构造方法
Scanner scanner = new Scanner(source):指定获取字符的位置,可以是一个字符串,也可以是系统输入
//常用方法
scanner.useDelimiter(String delm):使用正则表达式指定分隔符
StringTokenizer和Scanner类的比较
StringTokenizer是一次性将字符串处理完,因此会占用更多的内存,不能使用正则表达式指定分隔符
Scanner是实时分隔的,速度会比StringTokenizer慢,并且不能查看可分隔的个数,能用正则表达式指定分隔符
Pattern和Matcher类
Pattern pattern = Pattern.compile(String regex):使用正则表达式指定匹配模式
Matcher matcher = pattern.matcher(String s):从字符串s中进行匹配
bool matcher.find():查找下一个匹配,若找到就返回true,每次调用都会更新start和end返回的值
int matcher.start():返回匹配到的字符的起始下标
int matcher.end():返回匹配到的字符的末尾的下标+1