2022-07-26 学习笔记 day19-JavaSE-常用API

API

什么是API

API(Application Program Interface)——应用程序编程接口。在Java中,Java类库就是API。

简单来说API就是程序对外提供的接口,供他人使用的方法或字段定义。

常用API

Object类

Object类是所有

  1. 包路径:java.lang.Object
  2. 构造方法: 只有一个无参构造
  3. 字段: 无
  4. 实例方法:
    实例方法功能
    protected native Object clone()创建并返回此对象的一个副本
    public boolean equals(Object)指示某个对象是否与此对象相等
    需要子类重写用于设置比较条件
    此处使用"=="比较两个对象
    public String toString()返回当前对象字符串表示形式
    需要子类重写用于设置对象的字符串表示形式
    此处返回"类名@16进制的哈希码"
    public native int hashCode()返回当前对象的哈希码值
    public final native Class<?> getClass()获取当前对象运行时的类实例
    public final native void wait()让正在当前对象上活动的线程处于等待状态
    同时释放锁
    public final native void notify()唤醒正在当前对象上的等待的线程
    public final native void nortifyAll()唤醒正在当前对象上所有等待的线程
    protected void finalize()当垃圾回收器确定当前对象没有更多引用指向时,
    由垃圾回收机器调用此方法
    重写此方法用于设置垃圾被回收时的信息(遗言)

    可以看出Object类的很多方法都被native关键字修饰,表示该方法底层调用C++写的dll程序(动态链接库文件)

  5. 静态方法: 无

日期类

Date类
  1. 包路径:java.util.Date

  2. 继承关系:Date —继承—>Object

  3. 构造方法:

    public Date() ------> 获取当先系统的时间
    public Date(long) ------> 获取指定时间戳(从时间原点1开始到现在)的时间

  4. 实例方法

    public boolean after(Date) ----> 判断某个Date对象是否在当前对象之后
    public boolean before(Date) ----> 判断某个Date对象是否在当前对象之前
    public long getTime() -----> 获取从时间原点到当前时间的毫秒值(时间戳)

SimpleDateFormat类
  1. 包路径:java.text.SimpleDateFormat
  2. 继承关系:SimpleDateFormat—继承—>DateFormat—继承—>Format—继承—>Object
  3. 构造方法:public SimpleDateFormat(String) 参数给定指定的模式
  4. 实例方法:
    public String format(Date) -----> 将Date 格式化为 String
    public Date parse(String) ----> 将String 解析为 Date
    public void applyPattern() ----> 将指定的模式给当前SimpleDateFormat对象
    public Stirng toPattern() -----> 返回当前对象指定的模式

指定的模式组成
在这里插入图片描述

Date与String和时间戳(long)与之间的转换
  1. Date ——> String
    1. 使用实例方法toString()
    2. 使用SimpleDateFormat对Date对象格式化
    import java.util.Date;
    import java.text.SimpleDateFormat;
    
    public class Test {
    	public static void main(String[] args){
    		//获取当前时间
    		Date currentDate = new Date();
    		//指定的模式
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
    		//Date ---> String
    		String str1 = currentDate.toString();	//第一种方式(未格式化)
    		String str2 = sdf.format(currentDate);	//第二种方式(格式化后)
    		System.out.println("未格式化:" + str1);
    		System.out.println("格式化:" + str2 );
    
    	}
    }
    
  2. Date ——> 时间戳
    • 使用实例方法getTime()
    import java.util.Date;
    
    public class Test {
    		public static void main(String[] args){
    			//获取当前时间
    			Date currentDate = new Date();
    			//Date ----> long(时间戳)
    			long millis = currentDate.getTime();
    			System.out.println("毫秒值:" + millis);
    		}
    }
    
  3. 时间戳 ——> Date
    • 使用构造方法
    import java.util.Date;
    
    public class Test {
       	public static void main(String[] args){
       		//获取当前毫秒值
       		long currentMillis = System.currentTimeMillis();
       		//long(时间戳) ----> Date
       		Date date = new Date(currentMillis);
       		System.out.println(date);
       	
       	}
    }
    
  4. String ——> Date
    • 使用SimpleDateFormat对字符串进行解析(字符串内容要与SimpleDateFormat对象指定的模式相同)
     import java.util.Date;
     import java.text.SimpleDateFormat;
     import java.text.ParseException;
     
     public class Test {
    		public static void main(String[] args) throw ParseException {
    			//指定的模式
    			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
    			//String ----> Date
    			Date date = sdf.parse("2022-07-26 21:02:31 000");
    			System.out.println(date);
    		}
    }
    

    此处有一个ParseException(包路径是java.text.ParseException),这个异常的直接父类是Excption,是编译时异常,Java语法要求必须处理编译时异常,不处理编译器会报错,此处选择将异常直接上抛给虚拟机

DecimalFormat类

  1. 包路径:java.text.DecimalFormat
  2. 继承关系:DecimalFormat—继承—>NumberFormat —继承—>Format—继承—>Object
  3. 构造方法:public DecimalFormat(String) 参数给定指定的模式
  4. 实例方法:
    public String format(long/double) -----> 将数值格式化成字符串
    public void applyPattern() ----> 将指定的模式给当前Format对象
    public Stirng toPattern() -----> 返回当前对象指定的模式

指定的模式组成
在这里插入图片描述
使用案例

import java.text.DecimalFormat;
 
 public class Test {
		public static void main(String[] args){
			//指定模式(千分位分隔+保留3位小数点)
			DecimalFormat df = new DecimalFormat("#,###.000");
			String str = df.format(1564.34);
			System.out.println(str);	//1,564.340

			//指定模式(百分数保留2位小数点)
			df.applyPattern("#.00%");
			String str2 = df.format(0.6421);
			System.out.println(str2);	//64.21%
			
		}
}

BigDecimal类

BigDecimal属于大数据,精度极高,专门用于财务软件中。

  1. 包路径:java.math.BigDecimal
  2. 继承关系:BigDecimal—继承—>Number—继承—>Object
  3. 构造方法:public BigDecimal(int/long/double…)
  4. 实例方法:
    public BigDecimal add(BigDecimal) -----> 两个BigDecimal相加
    public BigDecimal subtract(BigDecimal) -----> 两个BigDecimal相减
    public BigDecimal multiply(BigDecimal) -----> 两个BigDecimal相乘
    public BigDecimal divide(BigDecimal) -----> 两个BigDecimal相除

BigDecimal是引用数据类型,并不能直接算数运算

String类与八大包装类

点我查看

Random类

Scanner类

工具类

*  工具类当中大部分是静态方法。

Math类
  1. 包路径:java.lang.Math
  2. 继承关系:java.lang.Math——> java.lang.Object
  3. 静态方法
静态方法功能
public staitc double ceil(double)向上取整
public staitc double floor(double)向下取整
public static long/int round(double/float)四舍五入
public static 多类型 abs(多类型)绝对值
public static 多类型 max(多类型,多类型)返回两个数中的最大值
public static 多类型 min(多类型,多类型)返回两个数中的最小值
public static double pow(double a,double b)返回ab
public static double radom()返回一个0~1之间的浮点数,范围大于等于0.0且小于1.0
与Random类的关系:底层调用了Random的nextDouble()方法

对于round()、ceil()、floor()方法的对浮点数进行取整——x轴的正方向即为上

使用案例

import java.text.DecimalFormat;

public class Test {
	public static void main(String[] args){
		//max()	
		System.out.println("最大值:" + Math.max(1,2));	//2
		//min()
		System.out.println("最小值:" +  Math.min(1,2));	//1
		//round()数轴方向取整
		System.out.println(Math.round(1.5));	//2
		System.out.println(Math.round(-1.5));	//-1
		//ceil()与floor()
		System.out.println(Math.ceil(-1.5));	//-1.0
		System.out.println(Math.floor(-1.5));	//-2.0
		//pow()
		System.out.println(Math.pow(2,10)); //1024.0
		//random()--->使用random()和DecimalFormat结合获取一个%0~%100之间的数字,范围[0%,100%]
		DecimalFormat df = new DecimalFormat("##%");
		System.out.println(df.format(Math.random()));	
		
	}
}
Arrays类
  1. 包路径:java.util.Arrays
  2. 静态方法
静态方法功能
public static String toString(数组多类型重载)以"[v1,v2,v3]"的格式打印
某个数组的字符串表示形式,
public static void sort(数组多类型重载)对某个数组的内容进行排序
public static int binarySearch(数组,要查找的元素)在参数数组中查找参数元素
找到返回索引,找不到返回-1
Collections类

思维导图

在这里插入图片描述

Xmind文件/OneDriver共享


  1. 时间原点:是以GMT/UTC时间「1970-01-01T00:00:00」为起点 ↩︎

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值