• Java常用API


    内容:

    1、Date类相关

    2、System类

    3、Math类

    4、包装类

    5、正则表达式

    1、Date类相关

    什么是Date类:Date类表示特定的瞬间,精确到毫秒

    (1)Date类的构造函数

    继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,但是其中有未过时的构造函数可以把毫秒值转成日期对象。

     

    1 public class DateDemo {
    2     
    3     public static void main(String[] args) {
    4         // 创建Date对象
    5         Date d1 = new Date();
    6         System.out.println(d1);
    7     }
    8     
    9 }

    (2)Date类常用方法

    long getTime():返回自1970年1月1日00:00:00GMT以来 此Date对象表示的毫秒数

    注意:

    • l  把日期对象转换成对应的时间毫秒值
    • l  毫秒值是不断变化的,所以每次打印的不一样,金钱买不了时间

    (3)DateFormat类和SimpleDateFormat类

    DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。

    日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。

    我们通过这个类可以帮我们完成日期和文本之间的转换。

    要格式化一个当前语言环境下的日期也就是日期 -> 文本),要通过下面的方法来完成:

    DateFormat是抽象类,我们需要使用其子类SimpleDateFormat来创建对象

    1 //创建日期格式化对象,在获取格式化对象时可以指定风格
    2 DateFormat df= new SimpleDateFormat("yyyy-MM-dd");//对日期进行格式化
    3 Date date = new Date(1607616000000L);
    4 String str_time = df.format(date);
    5 System.out.println(str_time);    // 2020年12月11日

    DateFormat类的作用:即可以将一个Date对象转换为一个符合指定格式的字符串,也可以将一个符合指定格式的字符串转为一个Date对象

    替换规则如下:

    • 当出现y时,会将y替换成年
    • 当出现M时,会将M替换成月
    • 当出现d时,会将d替换成日
    • 当出现H时,会将H替换成时
    • 当出现m时,会将m替换成分
    • 当出现s时,会将s替换成秒

    (4)DateFormat类常用方法

     1 public class DateFormatDemo {
     2     public static void main(String[] args) throws ParseException {
     3         // 练习一:把Date对象转换成String
     4         Date date = new Date(1607616000000L);//Fri Dec 11 00:00:00 CST 2020
     5         DateFormat df = new SimpleDateFormat("yyyy年MM月dd日");
     6         String str = df.format(date);
     7         System.out.println(str);
     8         // str中的内容为2020年12月11日
     9 
    10         // 练习二:把String转换成Date对象
    11         String str2 = "2020年12月11日";
    12         DateFormat df2 = new SimpleDateFormat("yyyy年MM月dd日");
    13         Date date2 = df2.parse(str2);
    14         System.out.println(date2);
    15         // Date对象中的内容为Fri Dec 11 00:00:00 CST 2020
    16     }
    17 }

    (5)Calendar类

    Calendar是日历类,在Date后出现,替换掉了许多Date的方法

    该类将所有可能用到的时间信息封装为静态成员变量,方便获取

    Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,

    将语言敏感内容处理好,再返回子类对象,如下:

    1 // 返回当前日历对象:
    2 Calendar c = Calendar.getInstance();  
    3 
    4 public static Calendar getInstance(){
    5     Calendar c = new GregorianCalendar();
    6     return c;
    7 }

    Calendar类常用方法:

     1 import java.util.Date;
     2 import java.util.Calendar;
     3 
     4 public class CalendarDemo {
     5     public static Calendar getInstance(){
     6         Calendar c = Calendar.getInstance();
     7         return c;
     8     }
     9     
    10     public static void main(String[] args) {
    11         // 取得指定字段的值
    12         Calendar c = Calendar.getInstance();
    13         int year = c.get(Calendar.YEAR);
    14         System.out.println(year);
    15 
    16         // 设置指定字段的值
    17         c = Calendar.getInstance();
    18         // 设置时间为2020年5月20日
    19         c.set(Calendar.YEAR, 2020);
    20         c.set(Calendar.MONTH, 5);
    21         c.set(Calendar.DATE, 20);
    22         System.out.println(c);
    23         
    24         // 获取该日历对象转成的日期对象
    25         c = Calendar.getInstance();
    26         Date d = c.getTime();
    27         System.out.println(d);
    28     }
    29     
    30 }

    注意:

    • 西方星期的开始为周日,中国为周一
    • 在Calendar类中,月份的表示是以0-11代表1-12月
    • 日期是有大小关系的,时间靠后,时间越大

    2、System类

    (1)什么是System类

    System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作。

    System类不能手动创建对象,因为构造方法被private修饰,阻止外界创建对象。

    System类中的都是static方法,类名访问即可。在JDK中,有许多这样的类

    (2)System类常用方法

    • currentTimeMillis()  获取当前系统时间与1970年01月01日00:00点之间的毫秒差值
    • exit(int status) 用来结束正在运行的Java程序。参数传入一个数字即可。通常传入0记为正常状态,其他为异常状态
    • gc() 用来运行JVM中的垃圾回收器,完成内存中垃圾的清除。
    • getProperty(String key) 用来获取指定(字符串名称)中所记录的系统属性信息

    3、Math类

    (1)什么是Math类

    Math 类是包含用于执行基本数学运算的方法的数学工具类,如初等指数、对数、平方根和三角函数。

    类似这样的工具类,其所有方法均为静态方法,并且一般不会创建对象。如System类

    (2)常用方法 

     1 // abs方法,结果都为正数
     2 double d1 = Math.abs(-5);   // d1的值为5
     3 double d2 = Math.abs(5);    // d2的值为5
     4 
     5 // ceil方法,结果为比参数值大的最小整数的double值
     6 double d1 = Math.ceil(3.3);    // d1的值为 4.0
     7 double d2 = Math.ceil(-3.3);   // d2的值为 -3.0
     8 double d3 = Math.ceil(5.1);   // d3的值为 6.0
     9 
    10 // floor方法,结果为比参数值小的最大整数的double值
    11 double d1 = Math.floor(3.3);    // d1的值为3.0
    12 double d2 = Math.floor(-3.3);   // d2的值为-4.0
    13 double d3 = Math.floor(5.1);    // d3的值为 5.0
    14 
    15 // max方法,返回两个参数值中较大的值
    16 double d1 = Math.max(3.3, 5.5);   // d1的值为5.5
    17 double d2 = Math.max(-3.3, -5.5);  // d2的值为-3.3
    18 
    19 // min方法,返回两个参数值中较小的值
    20 double d1 = Math.min(3.3, 5.5);   // d1的值为3.3
    21 double d2 = Math.max(-3.3, -5.5);  // d2的值为-5.5
    22 
    23 // pow方法,返回第一个参数的第二个参数次幂的值
    24 double d1 = Math.pow(2.0, 3.0);   // d1的值为 8.0
    25 double d2 = Math.pow(3.0, 3.0);   // d2的值为27.0
    26 
    27 // round方法,返回参数值四舍五入的结果
    28 double d1 = Math.round(5.5);     // d1的值为6.0
    29 double d2 = Math.round(5.4);     // d2的值为5.0
    30 
    31 // random方法,产生一个大于等于0.0且小于1.0的double小数
    32 double d1 = Math.random();

    4、包装类

    (1)什么是包装类

    在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的。

    而程序开发中,我们需要把字符串数据,根据需求转换成指定的基本数据类型,如年龄需要转换成int类型,

    考试成绩需要转换成double类型等。那么,想实现字符串与基本数据之间转换怎么办呢?

    Java中提供了相应的对象来解决该问题,基本数据类型对象包装类:java将基本数据类型值封装成了对象。

    封装成对象有什么好处?可以提供更多的操作基本数值的功能。

    8种基本类型对应的包装类如下:

    其中需要注意int对应的是Integer,char对应的Character,其他6个都是基本类型首字母大写即可

    (2)将字符串转成基本类型

    示例:

    1 System.out.println(Integer.parseInt("123") + 2);
    2 // 打印结果为 125
    3 
    4 // 基本类型变成String  =》 基本类型+”” 就可以

    (3)自动装箱拆箱

    在需要的情况下,基本类型与包装类型可以通用。有些时候我们必须使用引用数据类型时,可以传入基本数据类型

    比如:

    基本类型可以使用运算符直接进行计算,但是引用类型不可以。而基本类型包装类作为引用类型的一种却可以计算,

    原因在于,Java”偷偷地”自动地进行了对象向基本数据类型的转换;相对应的,引用数据类型变量的值必须是new出来

    的内存空间地址值,而我们可以将一个基本类型的值赋值给一个基本类型包装类的引用。原因同样在于Java又”偷偷地”

    自动地进行了基本数据类型向对象的转换

    实例:

    1 // 自动拆箱:对象转成基本数值
    2 // 自动装箱:基本数值转成对象
    3 Integer i = 4; // 自动装箱。相当于Integer i = Integer.valueOf(4);
    4 i = i + 5; // 等号右边:将i对象转成基本数值(自动拆箱) i.intValue() + 5; 加法运算完成后,再次装箱,把基本数值转成对象。

    5、正则表达式

    Java中正则表达式的常用方法就以下两种:

    • public boolean matches(String regex) //判断字符串是否匹配给定的规则
    • public String[] split(String regex)  //根据给定正则表达式的匹配规则,拆分此字符串

    实例如下:

     1 public class regexDemo {
     2     
     3     public static void qq(){
     4         // 检验qq号(必须是5-15位数字,不能以0开头)
     5         String qq = "604154942";
     6         String regex = "[1-9][0-9]{4,14}";
     7         boolean flag = qq.matches(regex);
     8         System.out.println(flag);
     9     }
    10     
    11     public static void tel(){
    12         // 检验手机号(11位数字,第1位为1,第2位为3、4、5、7、8中的一个,后面9位为0到9之间的任意数字)
    13         String phone = "18800022116";
    14         String regex = "1[34578][0-9]{9}";
    15         boolean flag = phone.matches(regex);
    16         System.out.println(flag);
    17     }
    18     
    19     public static void useSplit(){
    20         // 使用split
    21         String s = "18-22-40-65";
    22         String regex = "-";
    23         String[] result = s.split(regex);
    24     }
    25 }

     

     

     

  • 相关阅读:
    【总】IdentityServer4 32篇汇总
    ASP.NET Core的身份认证框架IdentityServer4(3)-术语的解释
    ASP.NET Core身份认证服务框架IdentityServer4(2)-整体介绍
    dentityServer4(1)- 特性一览
    Identity和IdentityServer的区别及联系
    if (user?.Identity?.IsAuthenticated ?? false)这几个问号分别都代表啥意思?
    ASP.NET Core 认证与授权[1]:初识认证
    如何优化Python占用的内存,面试必学
    Python3的这些新特性很方便,新手必学
    Python常见面试题,80%的人不会
  • 原文地址:https://www.cnblogs.com/wyb666/p/10343515.html
Copyright © 2020-2023  润新知