一、Math类
Math 类提供了一序列基本数学运算和几何函数的方法。
Math类是final类,并且它的所有成员变量和成员方法都是静态的(标准的工具类)。
public static void main(String[] args) {
System.out.println("求次方:"+ Math.pow(3, 2));//9.0
System.out.println("求平方根:"+ Math.sqrt(9));//3.0
System.out.println("求绝对值:"+ Math.abs(-1));//1
System.out.println("向上取整:(天花板)"+Math.ceil(1.4));//2.0
System.out.println("向下取整(地板):"+Math.floor(1.5));//1.0
System.out.println("四舍五入:"+Math.round(1.5));//2
System.out.println("求最大值:"+Math.max(10,20));//20
System.out.println("求最小值:"+Math.min(10, 20));//10
System.out.println("获取随机值0(包含)~1(不包含)的小数:"+Math.random());
//需求:随机出1~100的数字
int num = (int)(Math.random())*100+1;
System.out.println(num);
二、正则表达式
含义:用来描述或者匹配一系列符合某个语句规则的字符串`
可以利用正则表达式替换
public static void main(String[] args) {
String str = "小红13911111234 小绿15122221234";
String regex = "(1\\d{2})(\\d{4})(\\d{4})";
//根据正则表达式替换字符串-- $1保留正则表达式中第一组的内容
String replaceAll = str.replaceAll(regex, "$1恭喜发财$3");
System.out.println(replaceAll);//小红139恭喜发财1234 小绿151恭喜发财1234
}
可以利用正则表达式判断是否匹配
public static void main(String[] args) {
String str = "1445584980@qq.com";
String regex = "\\d{5,11}@qq.com";
boolean matches = str.matches(regex);
//底层实现:
// Pattern pattern = Pattern.compile(regex);//获取正则表达式对象
// Matcher matcher = pattern.matcher(str);//通过正则表达式匹配字符串,把匹配的结果存放在Matcher对象中
// boolean bool = matcher.matches();//获取是否完全匹配
System.out.println(matches);
}
可以利用正则表达式分隔字符串
public static void main(String[] args) {
String str = "C:\\资源\\日韩\\波多野结衣.avi";
String regex = ":?\\\\";//:?表示这个冒号要么有、要么没有 --> :\\ 或 \\
String[] split = str.split(regex);
//底层实现:
//Pattern pattern = Pattern.compile(regex);//获取正则表达式对象
//String[] split = pattern.split(str);
for(String str1 : split){
System.out.println(str1);
}
}
可以利用正则表达式做爬虫
public static void main(String[] args) {
String str = "<img src='hhy/aaa.jpg'/><div><div/> <input type='image' src='submit.gif' /><img src='bbb.jpg'/>";
String regex = "<img\\b[^>]*\\bsrc\\b\\s*=\\s*('|\")?([^'\"\n\r\f>]+(\\.jpg)\\b)[^>]*>";
//获取正则表达式对象
Pattern pattern = Pattern.compile(regex);
//获取匹配结果对象
Matcher matcher = pattern.matcher(str);
//遍历
while(matcher.find()){//判断是否有匹配结果
String string = matcher.group(2);
System.out.println(string);
}
}
三、时间类
Date:日期类
public static void main(String[] args) {
//Wed Apr 27 13:50:59 CST 2022
//星期 月份 日期 时:分:秒 时区 年份
Date date = new Date();
System.out.println(date);
//Thu Jan 01 08:00:01 CST 1970
//自1970.1.1 0:0:0 + 时区 再往后推1000毫秒
Date date1 = new Date(1000);
System.out.println(date1);
SimpleDateFormat:格式化日期类
public static void main(String[] args) throws ParseException {
//创建格式化日期类的对象
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");//大小写都可以
//格式化日期类(Date对象 --> 字符串)
String str = simpleDateFormat.format(new Date());
System.out.println(str);
//字符串->Date对象
Date date = simpleDateFormat.parse("2011年12月3日 12:2:12");//抛异常
System.out.println(date);//Sat Dec 03 12:02:12 CST 2011
}
Calendar:日历类
public static void main(String[] args) {
//获取日历类对象
Calendar calendar = Calendar.getInstance();
//获取单个日期数据
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH)+1;//月份+1
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
System.out.println(year);
System.out.println(month);
System.out.println(day);
System.out.println(hour);
System.out.println(minute);
System.out.println(second);