java常用类

java常用类

一.Date类

java 复制代码
Date date=new Date();
        System.out.println(date.getTime());//该值类被加载的瞬间距离1970年1月1日0点0分的毫秒
        System.out.println(date.getHours());
        System.out.println(date.getMinutes());
        System.out.println(date.getSeconds());

        System.out.println(date.getYear()+1900);
		//删除线是被弃用的意思,getYear需要+1900等于真实年份

        System.out.println(date.getMonth()+1);//+1是真实月份
        System.out.println(date.getDay());//周日是0
        System.out.println(date.getDate());//日期

        Date a=new Date(1694309241809L);
		//创建一个Date对象里面的内容是1694309241809这个时刻的时间

        System.out.println(a);//显示a对象的内容,隐藏代码是toString

二.Calendar(抽象类)

java 复制代码
		Calendar calendar=new GregorianCalendar();
        Calendar c=Calendar.getInstance();
		//同上创造一个Calendar对象实现多态能使用子类GregorianCalendar的功能

        //System.out.println(c.get(Calendar.YEAR));//get(具体日历属性)

        System.out.println(c.get(Calendar.YEAR));
        System.out.println(c.get(Calendar.MONTH)+1);//得到月
        System.out.println(c.get(Calendar.DAY_OF_MONTH));//得到一月里的第几天
        System.out.println(c.get(Calendar.DAY_OF_WEEK));
        System.out.println(c.get(Calendar.DAY_OF_YEAR));
        System.out.println(c.get(Calendar.WEEK_OF_MONTH));
        System.out.println(c.get(Calendar.WEEK_OF_YEAR));
        System.out.println(c.get(Calendar.HOUR_OF_DAY));
        System.out.println(c.get(Calendar.MINUTE));
        System.out.println(c.get(Calendar.SECOND));

		System.out.println(c.get(Calendar.DAY_OF_WEEK_IN_MONTH));
		//一月里的周几是这个月的第几个,比如今天是周日,它是这个月的第二个周日

        //c.set(2004,6,6);   设置系统时间
		
        System.out.println(c.getTimeInMillis());
		//和System.out.println(date.getTime());一样获取距离1970年1月1日0点0分的毫秒

三.SimpleDateFormat

java 复制代码
Date date=new Date();
        String s="abc";
        //想要把date里的日期改成平时能看到的字符串格式例如2004-06-06怎么办
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String x=sdf.format(date);
        System.out.println(x);//2023-09-10 11:16:05

        //相反把字符串日期转为date类型
        String str="2004-06-06 15:45:22";
        SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d=sdf1.parse(str);//parse解析
        System.out.println(d);//Sun Jun 06 15:45:22 CST 2004

四.BigInteger和BigDecimal类

BigInteger用来计算超过16位的数
java 复制代码
		BigInteger aaa=new BigInteger("1111111111111111111111111111111111111");
        BigInteger bbb=new 					                         BigInteger("22222222222222222222222222222222222222222222222222222222222222222222222");
        BigInteger ccc=aaa.add(bbb);//加法
        System.out.println(ccc);
		//22222222222222222222222222222222223333333333333333333333333333333333333
BigDecimal用来计算精度大的数
java 复制代码
BigDecimal a=new BigDecimal("0.2");
        BigDecimal b=new BigDecimal("0.4");
        BigDecimal c=a.add(b);//把a的值加b的值
        System.out.println(c);//0.6

        BigDecimal d=a.divide(b);//除法
        System.out.println(d);//0.5

        BigDecimal aa=new BigDecimal("10");
        BigDecimal bb=new BigDecimal("3");
        //BigDecimal e=aa.divide(bb);
        //System.out.println(e);//会报错因为10/3无限循环

        BigDecimal f=aa.divide(bb,2,BigDecimal.ROUND_CEILING);
		//scale保留位数,ROUND_FLOOR向下取整
        System.out.println(f);//3.34

五.正则表达式

java 复制代码
		//正则表达式是一种模式匹配语法,可以用一些符号,来定义一个规则
        //如手机号第一位:1,第二位3 5 7 8 9,第三位开始随机数字,拿到字符串每一位及逆行判断
        
		//正则表达式符号:
        // *任意个
        // \d 匹配的是0-9之间的数字
        // [x-y] 匹配的是x到y的一个数字
        // \d{x}恰好x次
        // \d{x,}至少x次
        // \d{x,y}至少x次最多y次
        // [3578]*匹配3或者5或者7或者8
        // [357]匹配357中的任意多位数

        String str="17792295420";

        System.out.println(str.matches("1[35789]*\\d{9}"));//true


        String stextr="5";
        System.out.println(stextr.matches("\\d"));//true
        System.out.println(stextr.matches("\\d*"));//true
        System.out.println(stextr.matches("d{2}"));//false
        System.out.println(stextr.matches("d{3,}"));//false
        System.out.println(stextr.matches("d{3,6}"));//false
        System.out.println(stextr.matches("[1245]"));//true

        String a="123";
        String b="125";
        String bb="15";
        System.out.println(a.matches("[1245]*"));//false
        System.out.println(b.matches("[1245]*"));//true
        System.out.println(bb.matches("[1245]*"));//true

		//  \\w{}包含A-z0-9_
        //   . 匹配任意字符,如果要字符.需要\\转义

        String a="2519507835@qq.com";
        String b="13152018010@163.com";
        System.out.println(a.matches("\\w{6,11}@\\w{2,6}\\.(com|com\\.cn)"));//true
        System.out.println(b.matches("\\w{6,11}@\\w{2,6}\\.(com|com\\.cn)"));//true


		String s="ab3cd5ef6g";
        String []arr=s.split("\\d");//把字符串按\\d(数字)分
        System.out.println(Arrays.toString(arr));//[ab, cd, ef, g]

        String s1=s.replace("c","C");//第一个检索到c改成C
        String s2=s.replaceAll("\\d","C");//把所有数字改成C
        String s3=s.replaceFirst("\\d","C");//把第一个任意数字改成C
        System.out.println(s1);
        System.out.println(s2);
        System.out.println(s3);
相关推荐
陌上花开࿈38 分钟前
调用第三方接口
java
Aileen_0v01 小时前
【玩转OCR | 腾讯云智能结构化OCR在图像增强与发票识别中的应用实践】
android·java·人工智能·云计算·ocr·腾讯云·玩转腾讯云ocr
西猫雷婶2 小时前
python学opencv|读取图像(十九)使用cv2.rectangle()绘制矩形
开发语言·python·opencv
桂月二二3 小时前
Java与容器化:如何使用Docker和Kubernetes优化Java应用的部署
java·docker·kubernetes
liuxin334455663 小时前
学籍管理系统:实现教育管理现代化
java·开发语言·前端·数据库·安全
码农W3 小时前
QT--静态插件、动态插件
开发语言·qt
ke_wu3 小时前
结构型设计模式
开发语言·设计模式·组合模式·简单工厂模式·工厂方法模式·抽象工厂模式·装饰器模式
小马爱打代码3 小时前
设计模式详解(建造者模式)
java·设计模式·建造者模式
code04号3 小时前
python脚本:批量提取excel数据
开发语言·python·excel
小王爱吃月亮糖3 小时前
C++的23种设计模式
开发语言·c++·qt·算法·设计模式·ecmascript