一API的概述
1.1那什么是API呢?
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问 源码,或理解内部工作机制的细节。——百度百科
如果看不懂百度百科的话,那我换个易于理解的语言,请往下看
首先,我们都知道在c语言中称为函数,而在java中称为方法,那方法的格式如下
static void d(int x,int y){
if (x > y) {
System.out.println(x);
}else {
System.out.println(y);
}
}
在我们看来 d(int x,int y)就是一个方法,在方法体里是比较x和y的大小,而我们只需要自己在程序中加入调用d(数值1,数值2)就可以清楚的知道俩值的大小。
API就是将这样一些预先设定好的方法名和变量名,程序员们只需要通过调用,就可以使用了。而想要更深一步研究的更可以进入查看内部代码原理。
二.Math
2.1Math是啥?
英语好的小伙伴都知道Math就是指代数学呢嘛,那这里的Math里面就是包含了基本的数字运算方法
2.2Math的调用方式
由于Math中不存在构造方法,单其内部使用了static静态修饰,这使得程序员可以直接通过类名.方法来进行
2.3Math内部封装好的常用方法
方法名方法名 | 说明 |
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) |
其使用如下
Math.abs(-5) 在abs() 括号内部的参数只要是int、long、float、double都可以进行,而不只是限制int类型 如
System.out.println(Math.abs(-5));
输入答案:5
不只是存在调用方法名,也有调用变量名的 如
Math.PI
输出答案为:3.141592653589793
因为在Math内部定义了具体的值
public static final double PI = 3.14159265358979323846;
三.System
3.1System内部常用方法
方法名 | 说明 |
public static void exit(int status) | 终止当前运行的 Java 虚拟机,非零表示异常终止 |
public static long currentTimeMillis() | 返回当前时间(以毫秒为单位) |
currentTimeMillis()返回的是从1970年1月1日到目前的毫秒数 当我们需要将单位转换为‘天’即除(1000*3600*24)
四.日期类
4.1Date的概述
Date指的是代表了一个特定的时间,时间精确到毫秒
4.2Date的构造方法
方法名 | 说明 |
public Date() | 分配一个 Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒 |
public Date(long date) | 分配一个 Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数 |
4.3Date的常用方法
方法名 | 说明 |
public long getTime() | 获取的是日期对象从1970年1月1日 00:00:00到现在的毫秒值 |
public void setTime(long time) | 设置时间,给的是毫秒值 |
五.SimpleDateFormat
5.1概述
SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期
5.2构造方法
方法名 | 说明 |
public SimpleDateFormat() | 构造一个SimpleDateFormat,使用默认模式和日期格式 |
public SimpleDateFormat(String pattern) | 构造一个SimpleDateFormat使用给定的模式和默认的日期格式 |
5.3常用方法
方法名 | 说明 |
public final String format(Date date) | 将日期格式化成日期/时间字符串 |
public Date parse(String source) | 从给定字符串的开始解析文本以生成日期 |
六.Calendar
6.1概述
Calendar 为特定瞬间与一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法
Calendar 提供了一个类方法 getInstance 用于获取这种类型的一般有用的对象,该方法返回一个Calendar 对象。
其格式为:Calendar rightNow = Calendar.getInstance();
6.2常用方法
方法名 | 说明 |
public int get(int field) | 返回给定日历字段的值 |
public abstract void add(int field, int amount) | 根据日历的规则,将指定的时间量添加或减去给定的日历字段 |
public final void set(int year,int month,int date) | 设置当前日历的年月日 |
综述
学好常用API是很有利于程序开发效率的,如三、四、五是可以联合使用的
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Date d = sd.parse("2023-02-20");
long t =d.getTime();
long t1=System.currentTimeMillis();
long t2=t1-t;
System.out.println(t2/(1000*3600*24));
在第一句中我用了SimpleDateFormat构造出一个日期对象sd,并设置了这个日期的格式为"yyyy-MM-dd"
第二句中我随意传了一个日期字符组,并且利用sd里面parse方法将之转换成日期格式给到了Date d对象里
第三句我使用了d里面的getTime方法获取到了1970年1月1日到我输入的日期,这二者间的时间差,并且单位是毫秒,赋值给了t
第四句我利用System的currentTimeMillis方法,获取到了从1970年1月1日到当前日期的毫秒数
第五句,算出这二者毫秒数只差,这样我就可以求出俩个日期差了多少天。
而六里面的可以直接输入不同年份而判读那2月份具体多少天,不再需要像以往一样重复的去判断闰年平年,当然了,也不止这操作,大家还可以继续多研究探讨
Scanner sc = new Scanner(System.in);
System.out.println("请输入年:");
int y = sc.nextInt();
//设置日历对象的年、月、日
Calendar c1 = Calendar.getInstance();
c1.set(y, 2, 1);
//3月1日往前推一天,就是2月的最后一天
c1.add(Calendar.DATE, -1);
//获取这一天输出即可
int date1 = c1.get(Calendar.DATE);
System.out.println(y + "年的2月份有" + date1 + "天");
以上均是个人学习心得,若是有什么地方写的不对,也欢迎大家也可以多指教、谢谢大家的观看