java中的常用API及异常介绍

1、Math

Math 包含执行基本数字运算的方法,可以实现绝大多数的数学运算

Math类中无构造方法,但内部的方法都是静态的,所以可以通过 类名.进行调用

常用方法如下:

方法名 方法名说明
public static int abs(int a)返回参数的绝对值
public static double ceil(double a)返回大于或等于参数的最小double值,等于一个整数
public static double floor(double a)返回小于或等于参数的最大double值,等于一个整数
public static int round(float a)按照四舍五入返回最接近参数的int
public static int max(int a,int b)返回两个int值中的较大值
public static int min(int a,int b)返回两个int值中的较小值
public static double pow (double a,double b)返回a的b次幂的值
public static double random()返回值为double的正值,[0.0,1.0)

2、System

System 类是一些与系统相关属性和方法的集合,System 类中所有的属性都是静态的,要想引用这些属性和方法,直接使用 System 类调用即可。

System的常用方法如下:

3、Arrays

Java中的Arrays是用来操作数组的工具类,支持如下功能:拷贝数组、转换为list、填充等。

Arrays的常用方法如下:

方法名说明
public static String toString(int[] a)返回指定数组的内容的字符串表示形式
public static void sort(int[] a)按照数字顺序排列指定的数组
public static T copyOf(T[] original, int newLength)复制数组,赋予新的长度
public static boolean equals(Object[] array1, Object[] array2)判断两个数组是否相等

4、Date类

Date不是一个静态的类,所以需要使用构造方法进行初始化后再使用,Date类提供了有参和无参两种构造方法。

  Date的常用方法如下:

方法名说明
public long getTime()获取的是日期对象从1970年1月1日 00:00:00到现在的毫秒值
public void setTime(long time)设置时间,给的是毫秒值

代码演示:

public class DateDemo {
    public static void main(String[] args) {
        //创建日期对象
        Date d = new Date();
        long time = System.currentTimeMillis();
        d.setTime(time);// 将当前时间赋值给d

        System.out.println(d);// 输出当前时间
    }
}

5、SimpleDateFormat

SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。

SimpleDateFormat类构造方法:

方法名说明
public SimpleDateFormat()构造一个SimpleDateFormat,使用默认模式和日期格式
public SimpleDateFormat(String pattern)构造一个SimpleDateFormat使用给定的模式和默认的日期格式

常用方法:

例:将日期格式改为yyyy-mm-dd的格式

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

public class Test04 {
    public static void main(String[] args) throws ParseException {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入第一个日期(格式:yyyy-mm-dd,如:2023-02-27)");
        String date1 = scanner.nextLine();
        System.out.println("请输入第二个日期(格式:yyyy-mm-dd,如:2023-02-27)");
        String date2 = scanner.nextLine();
        fun(date1,date2);
    }
    public static void fun(String date1,String date2) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date d1 = null,d2 = null;
        try {
            d1 = sdf.parse(date1);
            d2 = sdf.parse(date2);
        } catch (ParseException e) {
            e.printStackTrace();
            System.out.println("输入的日期格式不正确");
            return;
        }
        System.out.println("两个日期相差"+Math.abs(d1.getTime()-d2.getTime())/1000/60/60/24+"天");
    }
}

6、Calendar类

Calendar 为特定瞬间与一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法
Calendar 提供了一个类方法 getInstance 用于获取这种类型的一般有用的对象。
该方法返回一个Calendar 对象。

例:Calendar rightNow = Calendar.getInstance();

Canlendar的常用方法:

方法名说明
public int get(int field)返回给定日历字段的值
public abstract void add(int field, int amount)根据日历的规则,将指定的时间量添加或减去给定的日历字段
public final void set(int year,int month,int date)设置当前日历的年月日

例:获取任意年份的二月份有多少天

public class CalendarTest {
    public static void main(String[] args) {
        //键盘录入任意的年份
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入年:");
        int year = sc.nextInt();

        //设置日历对象的年、月、日
        Calendar c = Calendar.getInstance();
        c.set(year, 2, 1);

        //3月1日往前推一天,就是2月的最后一天
        c.add(Calendar.DATE, -1);

        //获取这一天输出即可
        int date = c.get(Calendar.DATE);
        System.out.println(year + "年的2月份有" + date + "天");
    }
}

 7、异常

异常是指在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序。

7.1 异常体系结构如下:

         Throwable类是java语言中所有错误和异常的的父类或间接父类,Error和Exception是Throwable的直接子类,Error是程序无法处理的错误,表示运行应用程序中较严重问题,Exception是所有异常类的父类,异常代表着是程序本身可以处理的问题,而异常又分为运行时异常(RuntimeException)和非运行时异常,运行时异常,简单的理解就是运行时异常只有在运行时会报出异常,而非运行时异常无法通过编译,需要先处理才能通过编译运行。

7.2 异常的处理方式

7.2.1 默认处理方式

如果程序出现问题,没有做任何处理,JVM会默认处理:
1.把异常的名称,错误原因及异常出现的位置等信息输出在了控制台
2.程序停止运行

7.2.2 throws

通过使用throws关键字在方法声明处将异常抛出,谁调用这个方法,谁就处理这个异常 

 

7.2.3 try-catch方式处理异常

定义格式:

try {
    可能出现异常的代码;
} catch(异常类名 变量名) {
    异常的处理代码;
}

执行流程 :

程序从 try 里面的代码开始执行

出现异常,就会跳转到对应的 catch 里面去执行

执行完毕之后,程序还可以继续往下执行

try…catch捕捉异常之后,后续代码可以执行。

7.2.4 finally

finally主要用于回收在try块里打开的物理资源,异常机制会保证finally块总被执行

在finally语句中的代码是最后执行的,并且是一定会执行的,即使try语句块中的代码出现了异常。

finally语句必须和try一起出现,不能单独编写。

finally语句通常跟在最后一个catch代码段后面,只要程序执行到了try,无论try-catch谁执行,除jvm停止运行,否则就一定会执行finally中的代码,try-catch中的return无效,需先执行完finally中的语句后才能返回。

例:return不能跳出方法体,需要先执行finally语句,但return的返回值不变

public static void main(String[] args) {
		int test = test(3,5);// test = 8
		System.out.println(test);
	}

	public static int test(int x, int y){
		int result = x;
		try{
			if(x<0 || y<0){
				return 0;
			}
			result = x + y;
			return result;
		}finally{
			result = x - y;
            System.out.println("finally语句被执行");
		}
	}

输出结果为:
finally语句被执行
8

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值