首先要知道閏年的定義,它包括兩種情況:
- 普通年(不能被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 中運算符還是挺多的,要記住所有的優先次序确實有點難,但在實際開發中我們并不需要去刻意記憶,對于不清楚優先級的地方使用小括号去進行替代即可。