JavaAPI常用类03

目录

java.lang.Math

Math类

代码

运行

Random类

代码

运行

Date类/Calendar类/ SimpleDateFormat类

Date类 

代码

运行

Calendar类 

代码

运行

SimpleDateFormat类

代码一

运行

 常用的转换符

代码二

运行

java.math

BigInteger

代码

运行

BigDecimal

代码

运行

正则表达式

前情摘要

代码

运行 

正则表达式1

代码

运行

正则表达式2 

代码

运行

正则表达式3

代码

运行


java.lang.Math

Math类

代码

package com.ffyc.javaapi.mathdemo;

public class MathDemo {

    public static void main(String[] args) {
        System.out.println(Math.PI);//3.141592653589793
        System.out.println(Math.abs(-1));//1
        System.out.println(Math.sqrt(9));//3.0
        System.out.println(Math.pow(2, 3));//8.0

        System.out.println(Math.floor(9.9));//9.0
        System.out.println(Math.ceil(9.1));//10.0

        System.out.println(Math.round(9.4));//9
        System.out.println(Math.round(9.6));//10

        //返回一个  大于等于0小于1 的随机数
        System.out.println(Math.random());//0.618879258589192
    }
}

运行

Random类

代码

package com.ffyc.javaapi.mathdemo;

import java.util.Arrays;
import java.util.Random;

public class RandomDemo {
    public static void main(String[] args) {
        Random random = new Random();
        //在取值范围内返回随机返回一个结果
        System.out.println(random.nextBoolean());
        System.out.println(random.nextDouble());
        System.out.println(random.nextFloat());
        System.out.println(random.nextInt());
        //在指定范围内随机返回一个随机数,大于等于0 小于给定的值
        System.out.println(random.nextInt(10));

        byte[] bytes = new byte[6];
        random.nextBytes(bytes);
        System.out.println(Arrays.toString(bytes));
    }
}

运行

Date类/Calendar类/ SimpleDateFormat类

Date类 

      import java.util.Date; 
      new Date();对象 得到一个系统的当前时间
      getYear();上面有一个删除线,表示此方法是弃用的方法,不建议使用,有新的方法代替,但是也是可以调用的 

代码

package com.ffyc.javaapi.datedemo;

import java.util.Date;

public class DateDemo{ 
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date.getYear()+1900);
        //月份是从零开始
        System.out.println(date.getMonth()+1);//0 1 2 3 ....
        //今天是第几天
        System.out.println(date.getDate());
        //星期从星期天开始,星期天是0,星期六是6
        System.out.println(date.getDay());
        //获取当前小时
        System.out.println(date.getHours());
        //获取当前分钟
        System.out.println(date.getMinutes());
        //获取当前秒钟
        System.out.println(date.getSeconds());
        //毫秒值---获取的是1970年1970 1.1 0:0:0到程序运行那一刻的时间差
        //测试程序运行时间  程序运行前new Date().getTime() 程序运行后new Date().getTime()
        System.out.println(date.getTime());//1708740879814
        //获取当前程序运行时的时间类信息
        System.out.println(date);

        //通过有参的构造方法,将一个毫秒的时间封装成一个日期对象
        Date d = new Date(1708740879814l);
        System.out.println(d);
    }
}

运行

Calendar类 

      Calendar 日历类 抽象类 用来定义日历功能,具体的实现可以交给子类实现 
      GregorianCalendar  格里高利历(公历)是Calendar抽象类具体子类 

代码

package com.ffyc.javaapi.datedemo;

import java.util.Calendar;
import java.util.GregorianCalendar;

public class CalenderDemo { 
    public static void main(String[] args) {
        //Calendar calendar = new GregorianCalendar();
        Calendar calendar = Calendar.getInstance();
        //get(具体的日历属性)
        System.out.println(calendar.get(Calendar.YEAR));
        System.out.println(calendar.get(Calendar.MONTH) + 1);
        //月中第几天
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
        //周中第几天 星期天是一周中的第一天
        System.out.println(calendar.get(Calendar.DAY_OF_WEEK));
        //年中第几天
        System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
        //月中第几周
        System.out.println(calendar.get(Calendar.WEEK_OF_MONTH));
        //年中第几周
        System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));
        //几时
        System.out.println(calendar.get(Calendar.HOUR));
        //几分
        System.out.println(calendar.get(Calendar.MINUTE));
        //几秒
        System.out.println(calendar.get(Calendar.SECOND));

        //设置系统时间
        calendar.set(2022, 9, 10);
        System.out.println(calendar.get(Calendar.YEAR));

        //毫秒值---获取的是1970年1970 1.1 0:0:0到程序运行那一刻的时间差
        System.out.println(calendar.getTimeInMillis());
    }
}

运行

SimpleDateFormat类

代码一

      将Date类型 格式化为 给定格式的字符串 

package com.ffyc.javaapi.datedemo;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatDemo { 
    public static void main(String[] args) throws ParseException {
        Date date1 = new Date();
        String s1 = "张三";
        //System.out.println(s1 + "" + date.getYear()+1988+date.getMonth()+1);
        /*
         yyyy 4位年
         MM 月
         dd 日 月中的天
         HH 24小时刻
         mm 分钟
         ss 秒
         S 毫秒
         E 星期几
        */
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年-MM月-dd日 HH时:mm分:ss秒:S毫秒 E");
        String datestr = sdf1.format(date1);
        System.out.println(s1+""+datestr);c
    }
}

运行

 常用的转换符

代码二

          把字符串 转为 Date类型 

package com.ffyc.javaapi.datedemo;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatDemo {   
        String s2 = "2003年-3月-2日";
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年-MM月-dd日");
        Date date2 = sdf2.parse(s2);
        System.out.println(date2);
    }
}

运行

java.math

BigInteger

代码

package com.ffyc.javaapi.mathdemo;

import java.math.BigInteger;

public class BigIntegerDemo {
    public static void main(String[] args) {
        //long a = 2222222222222222233333l;
        BigInteger a = new BigInteger("22222222222222222333333333333");
        BigInteger b = new BigInteger("22222222222222222333333333333");
        BigInteger c = a.add(b);
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
    }
}

运行

BigDecimal

代码

package com.ffyc.javaapi.mathdemo;

import java.math.BigDecimal;

public class BigDecimaDemo {
    public static void main(String[] args) {
        System.out.println((0.1 + 0.2) == 0.3);
        System.out.println(0.1 + 0.2);

        BigDecimal bd1 = new BigDecimal("0.1");
        BigDecimal bd2 = new BigDecimal("0.2");
        BigDecimal bd3 = bd1.add(bd2);
        System.out.println(bd3);

        BigDecimal bd4 = new BigDecimal("10");
        BigDecimal bd5 = new BigDecimal("3");
        //在除法运算时,默认遇到无限循环会报错,需要指定保留的小数位数,以免近似值的策略
        BigDecimal bd6 = bd4.divide(bd5, 2, BigDecimal.ROUND_CEILING);
        System.out.println(bd6);
    }
}

运行

正则表达式

正则表达式
        规则
        是一种模式匹配语法,可以使用一些符号,来定义一个规则,然后用规则与字符串进行匹配

前情摘要

代码

package com.ffyc.javaapi.stringdemo;

import java.util.Arrays;

public class StringDemo8 {
    /*
      String s = "abc";  char[] c = ['a','b','c'];
    */

    public static void main(String[] args) {
        String name = "张三";//张三
               name += "111";//张三111
        System.out.println(name);

        String s = "ab:cd:efg";
        System.out.println(Arrays.toString(s.split(":")));
    }
}

运行 

正则表达式1

              验证输入的内容必须是一个手机号格式
                第一位:1
                第二位:3 5 7 8 9
                从第三位开始都是数字即可
                拿到字符串每一位进行判断
              正则表达式中符号:
                \d 匹配的是0-9之间的数字 

代码

package com.ffyc.javaapi.stringdemo;

public class StringDemo8 { 
    public static void main(String[] args) {  
        String p = "13245678912";
        //匹配一位数字
        boolean b1 = p.matches("\\d");
        System.out.println(b1);
        //匹配任意个数字
        boolean b2 = p.matches("\\d*");
        System.out.println(b2);
        //恰好n次
        boolean b3 = p.matches("\\d{9}");
        System.out.println(b3);
        //至少n次
        boolean b4 = p.matches("\\d{3,}");
        System.out.println(b4);
        //至少n次,不超过m次
        boolean b5 = p.matches("\\d{3,6}");
        System.out.println(b5);
        //[3578] 匹配3或5或7或8
        boolean b6 = p.matches("[3578]*");
        System.out.println(b6);

        //电话号码判断
        boolean b7 = p.matches("1[35789]\\d{9}");
        System.out.println(b7);

        //qq号  数字 6-12位 0不能开头
        boolean q = p.matches("[1-9]\\d{5,11}");
        System.out.println(q);

    }
}

运行

正则表达式2 

         [1235]
         [1-9]
         [a-z]
         [A-Z]
         \\w  ==  []A-z0-9]
         .匹配任意的字符   \\.进行转义,只能匹配.
         |   X|Y  或 

代码

package com.ffyc.javaapi.stringdemo;

public class StringDemo9 {

    public static void main(String[] args) { 
        String p1 = "13FGF24V_HCCY5678L912";
        /*boolean b1 = p.matches("[a-z]*");
        boolean b1 = p.matches("[A-Z]*");
        boolean b1 = p.matches("[a-z][A-Z]*");
        boolean b1 = p.matches("[A-z]*");*/
        boolean b1 = p1.matches("\\w*");//[A-z 0-9]
        System.out.println(b1);

        String p2 = "dvjcdjSC@145_54.com";
        //邮箱模式 fxghccgfg@123hgvhg.com  .com.cn
        boolean b2 = p2.matches("\\w{6,10}@\\w{2,6}\\.(com|com\\.cn)");
        System.out.println(b2);
    }
}

运行

正则表达式3

代码

package com.ffyc.javaapi.stringdemo;

import java.util.Arrays;

public class StringDemo10 {
    public static void main(String[] args) {
        String s1 = "ss8ds5sxw";
        System.out.println(Arrays.toString(s1.split("\\d")));

        String s2 = "jkoj5nvf7vew";
        System.out.println(s2.replace("j", "J"));
        //"\\d" 正则表达式 匹配数字
        System.out.println(s2.replaceAll("\\d", "J"));
        System.out.println(s2.replaceFirst("\\d", "@"));
    }
}

运行

  • 28
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值