Java-Code zur Berechnung von Schaltjahren: Vergleich zweier Ansätze
Die Berechnung von Schaltjahren ist eine häufige Codierungsübung. Oft trifft man auf zwei Ansätze: den einen, der in „The Art and Science of Java“ vorgestellt wird, und den anderen, der häufig verwendet wird.
Code aus „The Art and Science of Java“
boolean isLeapYear = ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0));
Dieser Code prüft, ob das Jahr durch 4, aber nicht durch 100 teilbar ist, oder ob es durch 400 teilbar ist. Diese Logik funktioniert zwar ist unnötig komplex.
Verbesserter Code
if ((year % 4 == 0) && year % 100 != 0) { println(year + " is a leap year."); } else if ((year % 4 == 0) && (year % 100 == 0) && (year % 400 == 0)) { println(year + " is a leap year."); } else { println(year + " is not a leap year."); }
Dieser verbesserte Code vereinfacht die Logik, indem er sie in zwei Bedingungen aufteilt: Jahre, die durch 4, aber nicht durch 100 teilbar sind, sind Schaltjahre , und durch 400 teilbare Jahre sind ebenfalls Schaltjahre (obwohl sie durch 100 teilbar sind). Dieser Code ist besser lesbar und prägnanter.
Alternative Lösung
public static boolean isLeapYear(int year) { return year % 400 == 0 || (year % 100 != 0 && year % 4 == 0); }
Diese alternative Lösung kombiniert die beiden separaten Bedingungen in einem einzigen, effizienteren Ausdruck. Aufgrund seiner Einfachheit und Leistung ist es der am häufigsten verwendete Ansatz.
Welcher Code ist der Beste?
Der verbesserte Code ist die beste Wahl und schafft ein Gleichgewicht zwischen Lesbarkeit und Effizienz. Es ist leicht zu verstehen und eignet sich gut für die meisten Schaltjahrberechnungen. Die alternative Lösung bleibt jedoch eine gültige Option, wenn die Leistung im Vordergrund steht.
Das obige ist der detaillierte Inhalt vonWas ist der beste Java-Code zur Bestimmung von Schaltjahren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!