Java常用API例子_Java常用API

内容:

1、Date类相关

2、System类

3、Math类

4、包装类

5、正则表达式

1、Date类相关

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

(1)Date类的构造函数

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

0124da106b68fb2544bdc39eab9a5040.png

1 public classDateDemo {2

3 public static voidmain(String[] args) {4 //创建Date对象

5 Date d1 = newDate();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来创建对象

95ca566805855ff0ab791967397c6ebe.png

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类常用方法

b726c425d39fb314a5117a4fde2b5bef.png

1 public classDateFormatDemo {2 public static void main(String[] args) throwsParseException {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 staticCalendar getInstance(){5 Calendar c = newGregorianCalendar();6 returnc;7 }

Calendar类常用方法:

e2832b02c81ce59e4cd9ce550b45bc30.png

1 importjava.util.Date;2 importjava.util.Calendar;3

4 public classCalendarDemo {5 public staticCalendar getInstance(){6 Calendar c =Calendar.getInstance();7 returnc;8 }9

10 public static voidmain(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类常用方法

4fbd0948f867c2f6ed553cfe176c4670.png

currentTimeMillis()  获取当前系统时间与1970年01月01日00:00点之间的毫秒差值

exit(int status) 用来结束正在运行的Java程序。参数传入一个数字即可。通常传入0记为正常状态,其他为异常状态

gc() 用来运行JVM中的垃圾回收器,完成内存中垃圾的清除。

getProperty(String key)用来获取指定键(字符串名称)中所记录的系统属性信息

3、Math类

(1)什么是Math类

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

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

(2)常用方法

d043a0df12b110d94a76d0a7d5353222.png

1 //abs方法,结果都为正数

2 double d1 = Math.abs(-5);   //d1的值为5

3 double d2 = Math.abs(5);    //d2的值为54

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.09

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.014

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.318

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.522

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.026

27 //round方法,返回参数值四舍五入的结果

28 double d1 = Math.round(5.5);     //d1的值为6.0

29 double d2 = Math.round(5.4);     //d2的值为5.030

31 //random方法,产生一个大于等于0.0且小于1.0的double小数

32 double d1 = Math.random();

4、包装类

(1)什么是包装类

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

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

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

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

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

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

14bcf640fddd68b7b68349764b5751d6.png

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

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

f85762739b28bc893eb5287b6b954faa.png

示例:

1 System.out.println(Integer.parseInt("123") + 2);2 //打印结果为 1253

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中正则表达式的常用方法就以下两种:

c6d08470d2b4ec541c3e017e7409aa06.png

public boolean matches(String regex) //判断字符串是否匹配给定的规则

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

实例如下:

1 public classregexDemo {2

3 public static voidqq(){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 voidtel(){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 voiduseSplit(){20 //使用split

21 String s = "18-22-40-65";22 String regex = "-";23 String[] result =s.split(regex);24 }25 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值