目录
1.System类
System类中的所有成员都是静态的
(1)exit(int status)方法
传递一个非零参数,则可提前终止虚拟机的运行,若正常程序终止则传递零作为参数。
(2)CurrentTimeMills()方法
获取从1970-01-01 00:00:00至今的时间差,以毫秒为单位,返回的是一个long类型的大数值数据,通常会做时间戳,测试程序的执行时间差或与时期类配合使用,计算日期。
(3)getProperties()方法
该方法是获取当前虚拟机的环境属性,返回的是properties类型,该类型也是Java中常用的一种类型,大家可以自行了解。
2.Runtime类
Java程序运行的时候,虚拟机会存在一个唯一的Runtime类实例化对象,显然,这类使用的是单例设计模式,单例设计模式的一些基本特性,就不多做介绍了。下面介绍一些常用方法:
1. // 获取Runtime类对象,注意static方法的调用
2. public static Runtime getRuntime();
3. // 最大可用内存数
4. public long maxMemory();
5. // 总共可用内存数
6. public long totalMemory();
7. // 空闲内存数
8. public long freeMemory();
9. // 清除内存中的垃圾
10.public void gc();
3.日期操作类
(1)日期操作类
日期操作类没什么介绍的,主要就是三大类:
- LocalDateTime:存储日期和时间,yyyy-mm-dd hh:mm:ss
- LocalDate:存储日期,yyyy-mm-dd
- LocalTime:存储时间:hh:mm:ss
(2)日期格式化类
格式化输出时间/日期,举个例子就很容易理解使用了。
Date newTime = new Date();
SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String formatDate = dateFormatter.format(newTime);
System.out.println(formatDate);
4.正则表达式
Java正则表达式的功能十分强大,在实际工作中,这也是常常会用到的,正则表达式也是Java一个比较重要的知识点。它定义了字符串的匹配模式,多应用于文本处理。
(1)正则表达式语法
- 英文句点 . 符号:匹配单个任意字符。
表达式t.o 可以匹配:tno,t#o,teo等等。不可以匹配:tnno,to,Tno,t正o等。 - 中括号[ ]:只有方括号里面指定的字符才参与匹配,也只能匹配单个字符。
表达式:t[abcd]n 只可以匹配:tan,tbn,tcn,tdn。不可以匹配:thn,tabn,tn等。 - | 符号。相当与“或”,可以匹配指定的字符,但是也只能选择其中一项进行匹配。
表达式:t(a|b|c|dd)n 只可以匹配:tan,tbn,tcn,tddn。不可以匹配taan,tn,tabcn等。 - 表示匹配次数的符号
表达式:[0—9]{ 3 } - [0-9]{ 2 } - [0-9]{ 3 } 的匹配格式为:999-99-999
因为-符号在正则表达式中有特殊的含义,它表示一个范围,所以在前面加转义字符\ - ^ 符号:表示否,如果用在方括号内,^表示不想匹配的字符。
表达式:[^x] 第一个字符不能是x - \S符号:非空字符
- \s符号:空字符,只可以匹配一个空格、制表符、回车符、换页符,不可以匹配自己输入的多个空格。
- \r符号:空格符,与\n、\tab相同
- \d表示[0—9]
- \D表示[^0—9]
- \w表示[0—9A—Z_a—z]
- \W表示[^0—9A—Z_a—z]
- \s表示[\t\n\r\f]
- \S表示[^\t\n\r\f]
(2)正则表达式常用方法(String类的方法)
- 将字符串与给定的正则进行匹配 public boolean matches(String regex)
public class RegexDm {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入手机好:");
String s = sc.nextLine();
String regex = "1[38]\\d{9}";//定义手机好规则
boolean flag = s.matches(regex);//判断功能
System.out.println("flag:"+flag);
}
}
- 按照指定的正则将字符串符合条件的全部用replacement替换
public String replaceAll(String regex,String replacement)
package Lemon;
public class RegexDm {
public static void main(String[] args){
String s = "12342jasfkgnas234";
//把字符串里面的数字替换成*
String regex = "\\d";
String ss = "*";
String result = s.replaceAll(regex,ss);
System.out.println(result);
}
}
- 按照指定的正则拆分 public String[] split(String regex)
package Lemon;
import java.util.Scanner;
public class RegexDm {
public static void main(String[] args){
String age = "18-24";//定义年龄范围
String regex = "-";
String[] strArr = age.split(regex);//分割成字符串数组
int startAge = Integer.parseInt(strArr[0]);
int endAge = Integer.parseInt(strArr[1]);
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的年龄:");
int a = sc.nextInt();
if (a >= startAge && a <= endAge){
System.out.println("你就是我想找的");
}else{
System.out.println("不是");
}
}
}
正则部分参考博客https://blog.csdn.net/weixin_43860260/article/details/91417485