目录
API之BigInteger
整数类型的分类以及所占字节
名称 | 所占字节 |
---|---|
byte | 1 |
short | 2 |
int | 4 |
long | 8 |
使用BigInteger的原因
long整数类型的最大值为十进制9223372036854775807,当超过这个值,就需要用到BigInteger
获取一个随机的大整数
//获取一个随机的大整数 范围: [0,2的n次方-1]
BigInteger bi = new BigInteger(10,new Random());
System.out.println(bi);//742(随机数)
获取一个指定的大整数
//获取一个指定的大整数 字符串里面一定是整数
BigInteger bi = new BigInteger("20");
System.out.println(bi);
获取一个指定进制的大整数
//获取一个指定进制的大整数
BigInteger bi = new BigInteger("110",2); //6
System.out.println(bi);
静态方法获取对象
//静态方法获取对象 范围是long类型的最大值9223372036854775807
BigInteger bi = BigInteger.valueOf(100);//100
System.out.println(bi);
注意事项:
对象一旦被创建,内部的数据不能被改变
正则表达式
作用
验证字符串是否满足规则
查找需要的内容
规则
字符类
名称 | 说明 |
---|---|
[abc] | 只能是a,b,c |
[^abc] | 除了a,b,c之外的字符 |
[a-zA-Z] | a到z A到Z |
[a-d[m-p]] | a到d,或m到p |
[a-z&&[def]] | a到z和def的交集,就是d,e,f |
[a-z&&[^bc]] | a到z和非bc的交集 |
[a-z&&[^m-p]] | a到z和非m到p的交集 |
预定义字符
名称 | 说明 |
---|---|
. | 任何字符 |
\d | 一个数字 |
\D | 非数字 |
\s | 一个空白字符 |
\S | 非空白字符 |
\w | 英文、数字、下划线 |
\W | 一个非单词字符 |
数量词
名称 | 说明 |
---|---|
X? | 一次或0次 |
X* | 0次或多次 |
X+ | 一次或多次 |
X{n} | 正好n次 |
X{n,} | 至少n次 |
X{n,m} | 至少n次,不超过m次 |
Date时间类
Date类是JAVA已经写好的Javabean类,用来描述时间,精确到毫秒。
利用空参构造创建的对象,默认表示当前系统时间
利用有参构造创建的对象,表示指定时间
表示当前系统时间
//表示当前系统时间
Date d = new Date();
System.out.println(d);//Fri Mar 01 15:49:00 CST 2024
表示指定时间
//表示指定时间
Date d = new Date(0L);
System.out.println(d);//Thu Jan 01 08:00:00 CST 1970
修改时间(setTime)
//修改时间
d.setTime(2400);
System.out.println(d);//Thu Jan 01 08:00:02 CST 1970
获取当前时间的毫秒值(getTime)
//获取当前时间的毫秒值
long time = d.getTime();
System.out.println(time);
SimpleDateFormat类
作用:
把时间格式化
把字符串的时间变成Date对象
时间输出默认格式
//时间输出默认格式
SimpleDateFormat sdf = new SimpleDateFormat();
Date d = new Date(0L);
String s = sdf.format(d);
System.out.println(s);//70-1-1 上午8:00
时间输出指定格式
//时间输出指定格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date d = new Date(0L);
String s = sdf.format(d);
System.out.println(s);//1970年01月01日 08:00:00
解析字符串到Date对象
//解析字符串到Date对象
String str = "1970-01-01 08:00:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = sdf.parse(str);
System.out.println(d); //Thu Jan 01 08:00:00 CST 1970