导入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 中会更好/更高效。如您所见,这两个版本具有相同的输入和输出。