首先要知道閏年的定義,它包括兩種情況:
- 普通年(不能被100整除的年份):能被4整除的爲閏年。
- (如2004年就是閏年,1999年不是閏年);
- 世紀年(能被100整除的年份):能被400整除的是閏年。
- (如2000年是閏年,1900年不是閏年);
- 閏年(Leap Year)是爲了彌補因人爲曆法規定造成的年度天數與地球實際公轉週期的時間差而設立的,補上時間差的年份就爲閏年。
- 閏年共有366天(2 月爲 29 天)
核心代碼:
方法 1:
if(a % 100 != 0 && a % 4 == 0 || a % 400 == 0){
System.out.println("這是閏年");
}else{
System.out.println("這不是閏年");
}
方法 2:
String check = (a % 100 != 0 && a % 4 == 0 || a % 400 == 0) ? "這是閏年" : "這不是閏年";
System.out.println(check);
這裏的代碼類似上個練習中判斷奇偶性的例子,但是需要注意的是條件表達式的寫法。
關鍵知識點是邏輯表達式及運算符優先級。
- 邏輯表達式與或非 && || !,可以連接多個表達式,構成複雜條件
- 運算符優先級:! > 算術運算符 > 關係運算符 > && > || > 三元運算符 > 賦值運算符
這裏我只是給出不同類別的運算符優先級,因爲 java 中運算符還是挺多的,要記住所有的優先次序確實有點難,但在實際開發中我們並不需要去刻意記憶,對於不清楚優先級的地方使用小括號去進行替代即可。