• java常用类


    java常用类

    一.Date类

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    二.Calendar(抽象类)

    		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分的毫秒
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    三.SimpleDateFormat

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    四.BigInteger和BigDecimal类

    BigInteger用来计算超过16位的数
    		BigInteger aaa=new BigInteger("1111111111111111111111111111111111111");
            BigInteger bbb=new 					                         BigInteger("22222222222222222222222222222222222222222222222222222222222222222222222");
            BigInteger ccc=aaa.add(bbb);//加法
            System.out.println(ccc);
    		//22222222222222222222222222222222223333333333333333333333333333333333333
    
    • 1
    • 2
    • 3
    • 4
    • 5
    BigDecimal用来计算精度大的数
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    五.正则表达式

    		//正则表达式是一种模式匹配语法,可以用一些符号,来定义一个规则
            //如手机号第一位: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);
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
  • 相关阅读:
    Qt+opencv 鼠标画线实现几何图形识别并动态创建
    DeFi明斯基时刻:压力测试与启示
    JZ86 在二叉树中找到两个节点的最近公共祖先
    王道 第二章物理层
    C++学习 --queue
    app稳定性测试-iOS篇
    MATLAB中scatter3函数用法
    DevEco Hvigor高效编译,构建过程新秘籍
    032-从零搭建微服务-定时服务(一)
    4、nerf(pytorch)
  • 原文地址:https://blog.csdn.net/qq_45576281/article/details/132816165