zoukankan      html  css  js  c++  java
  • 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 }

     

     

     

  • 相关阅读:
    [DB] 数据库的连接
    JS leetcode 翻转字符串里的单词 题解分析
    JS leetcode 拥有最多糖果的孩子 题解分析,六一快乐。
    JS leetcode 搜索插入位置 题解分析
    JS leetcode 杨辉三角Ⅱ 题解分析
    JS leetcode 寻找数组的中心索引 题解分析
    JS leetcode 移除元素 题解分析
    JS leetcode 最大连续1的个数 题解分析
    JS leetcode 两数之和 II
    JS leetcode 反转字符串 题解分析
  • 原文地址:https://www.cnblogs.com/wyb666/p/10343515.html
Copyright © 2011-2022 走看看