文章目录
1. Math类
Math类是一个包含了一些数学函数的工具类。它提供了很多静态方法,能够执行各种数学计算,如三角函数、指数函数、对数函数、最大值、最小值、随机数等。
一些常用的Math类方法:
- abs():返回一个数的绝对值。
- sqrt():返回一个数的平方根。
- pow():返回一个数的指定次幂。
- round():将一个浮点数四舍五入成最接近它的整数。
- random():返回一个[0,1)之间的随机数。
- floor():返回小于或等于一个数的最大整数。
- ceil():返回大于或等于一个数的最小整数
- max(): 返回俩个数最大值
- min():返回两个数最小数
除了以上函数外,JavaMath类还提供了很多其他有用的数学函数,例如cos()、sin()、tan()、log()等。对于需要进行常用数学计算的Java程序来说,JMath类是一个非常方便和实用的工具类。
代码示例
public class MathExample {
public static void main(String[] args) {
double x = 3.1415;
int y = -10;
// 计算绝对值
System.out.println("abs(" + y + ") = " + Math.abs(y));
System.out.println("abs(" + x + ") = " + Math.abs(x));
// 计算平方根
System.out.println("sqrt(" + x + ") = " + Math.sqrt(x));
// 计算幂
System.out.println("pow(" + x + ", 2) = " + Math.pow(x, 2));
// 四舍五入
System.out.println("round(" + x + ") = " + Math.round(x));
// 获取随机数
System.out.println("Random number: " + Math.random());
//计算小于或等于一个数的最大整数
System.out.println("floor number: " + Math.floor(x));
//大于或等于一个数的最小整数
System.out.println("ceil number: " + Math.ceil(x));
//计算俩个数最大值
System.out.println("max number: " + Math.max(x,y));
//计算俩个数最小值
System.out.println("min number: " + Math.min(x,y));
}
}
注意:
Math类中的方法都是静态的方法,所以可以直接调用。
2. Calendar类
Java中的Calendar类是一个抽象类,用于操作和处理日期和时间相关的信息。该类提供了很多有用的方法,可以用于获取、设置和计算日期和时间,如获取年、月、日、时、分、秒等,以及进行日期和时间的加减操作等。
示例
下面代码创建了一个Calendar对象,并获取了当前时间的年、月、日、时、分、秒等信息。然后,通过set()方法设置了时间信息为2022年1月1日,通过计算时间差,得到了距离2024年新年还有多少天。最后,打印出了当前时间和距离2024年新年的时间差信息。上述代码创建了一个Calendar对象,并获取了当前时间的年、月、日、时、分、秒等信息。然后,通过set()方法设置了时间信息为2024年1月1日,通过计算时间差,得到了距离2024年新年还有多少天。最后,打印出了当前时间和距离2024年新年的时间差信息。
代码示例
import java.util.Calendar;
public class CalendarExample {
public static void main(String[] args) {
// 创建一个Calendar对象
Calendar calendar = Calendar.getInstance();
// 获取当前时间信息
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
// 打印当前时间信息
System.out.println("Current Time: " + year + "-" + (month+1) + "-" + day + " " + hour + ":" + minute + ":" + second);
// 设置时间信息
calendar.set(Calendar.YEAR, 2022);
calendar.set(Calendar.MONTH, Calendar.JANUARY);
calendar.set(Calendar.DAY_OF_MONTH, 1);
// 计算时间差
long diff = calendar.getTimeInMillis() - System.currentTimeMillis();
long seconds = diff / 1000;
long minutes = seconds / 60;
long hours = minutes / 60;
long days = hours / 24;
// 打印时间差信息
System.out.println("Days to New Year 2022: " + days);
}
}
注意:
Calendar类的月份是从0开始计数的,即0表示一月,11表示十二月,获取到结果加1,便可对应。
3. Date类
Date类是Java中表示日期和时间的一个类,它表示一个特定的时刻,精确到毫秒级别。Date类提供了一些方法来进行日期和时间的操作。
getTime():返回当前Date对象表示的时间的毫秒数。
compareTo(Date date):比较当前Date对象和指定Date对象之间的大小关系,如果当前对象早于指定对象,则返回负数,相等则返回0,晚于则返回正数。
equals(Object obj):判断当前Date对象和指定对象是否相等。
toString():将当前Date对象转换为字符串,格式为"EEE MMM dd HH:mm:ss zzz yyyy"。
before(Date date)和after(Date date):判断当前Date对象是否早于或晚于指定Date对象。
setTime(long time):设置当前Date对象的时间为指定毫秒数表示的时间。
getDate():返回当前Date对象表示的日期中的日数(1-31)。
getDay():返回当前Date对象表示的日期中的星期几(0-6,0代表星期日)。
getMonth():返回当前Date对象表示的日期中的月份(0-11)。
getYear():返回当前Date对象表示的日期中的年份,相对于1900年的偏移量。
import java.util.Date;
public class DateExample {
public static void main(String[] args) {
// 创建一个Date对象
Date date = new Date();
// 获取当前时间的毫秒数
long millis = date.getTime();
System.out.println("Milliseconds: " + millis);
// 将Date对象转换为字符串
String strDate = date.toString();
System.out.println("String representation: " + strDate);
// 判断两个Date对象是否相等
Date date2 = new Date(date.getTime());
boolean isEqual = date.equals(date2);
System.out.println("Date objects are equal: " + isEqual);
// 比较两个Date对象的大小
int result = date.compareTo(date2);
if (result > 0) {
System.out.println("date is after date2");
} else if (result < 0) {
System.out.println("date is before date2");
} else {
System.out.println("date and date2 are equal");
}
// 设置时间为指定时间
date.setTime(741258963);
System.out.println("New date: " + date.toString());
// 获取日期的各个部分
int day = date.getDate();
int dayOfWeek = date.getDay();
int month = date.getMonth();
int year = date.getYear();
System.out.println("Day: " + day + ", Day of week: " + dayOfWeek + ", Month: " + month + ", Year: " + year);
}
}