Java-常用类(Pattern、Matcher、Math、Random、System、BigDecimal、Date、SimpleDateFormat、Calendar类)

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);
    }