为了检查给定年份是否为闰年,哪种方法更好/更有效? (爪哇)

问题描述 投票:0回答:0

导入java.util.Scanner;

公共课主要{ /* 该程序测试一个整数是否对应公历中的闰年。 如果年份可以被 4 整除(2004),则为闰年,除非它可以被 100 整除,其中 在这种情况下它不是(1900),除非它可以被 400 整除,在这种情况下它是(2000)。 */

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    int year = scanner.nextInt();

    //version 1:
    System.out.println(isLeapYear1(year));

    //version 2:
    System.out.println(isLeapYear2(year));
}

//version 1:
public static boolean isLeapYear1(int year) {
    boolean isLeapYear;
    isLeapYear = (year % 4 == 0);
    isLeapYear = isLeapYear && (year % 100 != 0);
    isLeapYear = isLeapYear || (year % 400 == 0);
    return isLeapYear;
}

//version 2:
public static boolean isLeapYear2(int year) {
if (year % 4 == 0) {
    if (year % 100 == 0) {
        if (year % 400 == 0) {
            return true;
        } else {
            return false;
        }
    } else {
        return true;
    }
} else {
    return false;
}
}

}

我只是想知道哪个版本在 Java 中会更好/更高效。如您所见,这两个版本具有相同的输入和输出。

performance if-statement switch-statement processing-efficiency memory-efficient
© www.soinside.com 2019 - 2024. All rights reserved.