Java-常用类(Pattern、Matcher、Math、Random、System、BigDecimal、Date、SimpleDateFormat、Calendar类)
部分类功能方法举例
1.Parrern类和Matcher类
获取字符串中由三个字符组成的字符串
public static void main(String[] args) {
String s = "jin tian wo zhen de hen lei, dan shi wo han shi bu neng xiu xi";
String regx = "\\b[a-z]{3}\\b";
//获取模式器
Pattern pattern = Pattern.compile(regx);
//获取匹配器
Matcher matcher = pattern.matcher(s);
//boolean find() 尝试查找与该模式匹配的输入序列的下一个子序列
//String group() 获取符合正则的字符序列
while (matcher.find()) {
String group = matcher.group();
System.out.println(group);
}
}
2.Random类
生成的随机数40个(0----99)
public static void main(String[] args) {
//创建一个新的随机数生成器。
Random random = new Random();
for (int i1 = 0; i1 < 40; i1++) {
int i = random.nextInt(100);
System.out.println(i);
}
3.System类
获取当前系统的毫秒值
参照计算机元年:1970-01-01 00:00:00
long l = System.currentTimeMillis();
System.out.println(l);
4.Date类
date----long的转换
long----date的转换
//date----long的转换
long time = new Date().getTime();
//date----long的转换
Date date = new Date(1000L);
5.SimpleDateFormat类
格式化日期(将当前日期转换成字符串)并解析日期(将字符串解析成日期)
//把日期格式化
public static String formatDateStr(String format) {
SimpleDateFormat simple = new SimpleDateFormat(format);
String dateStr = simple.format(new Date());
return dateStr;
}
//把字符串解析成日期
public static Date changeDate(String dateStr, String format) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
Date date = simpleDateFormat.parse(dateStr);
return date;
}
public static void main(String[] args) throws ParseException {
String s = DateUtils.formatDateStr("yyyy-MM-dd");
System.out.println(s);//输出字符串形式日期
Date date = DateUtils.changeDate(s, "yyyy-MM-dd");
System.out.println(date);//输出日期
}
获取指定的日期(今天以前的日期)与今天相距的天数
public static void main(String[] args) throws ParseException {
Scanner sc = new Scanner(System.in);
System.out.println("请按照如下格式输入一天 2018-10-30");
String day = sc.nextLine();
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sd.parse(day);
long time = date1.getTime();
long now = System.currentTimeMillis();
System.out.println("现在到你指定的日期相距"+(now-time)/1000/60/60/24+"天");
}
6.Calendar类
录入一个年份并判断该年的二月有多少天
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份,您将得到该年份二月的天数");
int year = sc.nextInt();
Calendar instance = Calendar.getInstance();//使用默认时区和语言环境获得一个日历
instance.set(year, 2, 1);//设置日历
instance.add(Calendar.DAY_OF_MONTH, -1);//给某个日期字段(年月日等) 增减相应的时间量
int i = instance.get(Calendar.DAY_OF_MONTH);//获取给定日历字段对应的值
System.out.println(i);
}