【Java】常用的类与方法(Math类、Calendar类、Date类)

1. Math类

Math类是一个包含了一些数学函数的工具类。它提供了很多静态方法,能够执行各种数学计算,如三角函数、指数函数、对数函数、最大值、最小值、随机数等。
一些常用的Math类方法:

  1. abs():返回一个数的绝对值。
  2. sqrt():返回一个数的平方根。
  3. pow():返回一个数的指定次幂。
  4. round():将一个浮点数四舍五入成最接近它的整数。
  5. random():返回一个[0,1)之间的随机数。
  6. floor():返回小于或等于一个数的最大整数。
  7. ceil():返回大于或等于一个数的最小整数
  8. max(): 返回俩个数最大值
  9. 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类提供了一些方法来进行日期和时间的操作。

  1. getTime():返回当前Date对象表示的时间的毫秒数。

  2. compareTo(Date date):比较当前Date对象和指定Date对象之间的大小关系,如果当前对象早于指定对象,则返回负数,相等则返回0,晚于则返回正数。

  3. equals(Object obj):判断当前Date对象和指定对象是否相等。

  4. toString():将当前Date对象转换为字符串,格式为"EEE MMM dd HH:mm:ss zzz yyyy"。

  5. before(Date date)和after(Date date):判断当前Date对象是否早于或晚于指定Date对象。

  6. setTime(long time):设置当前Date对象的时间为指定毫秒数表示的时间。

  7. getDate():返回当前Date对象表示的日期中的日数(1-31)。

  8. getDay():返回当前Date对象表示的日期中的星期几(0-6,0代表星期日)。

  9. getMonth():返回当前Date对象表示的日期中的月份(0-11)。

  10. 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);
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_73392477/article/details/131195193