【Java】うるう年(閏年)を判定するサンプルプログラム

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、12年目エンジニアです。

この記事では、 Javaうるう年を判定する

  • うるう年とは
  • サンプルプログラム
  • 実行結果
  • プログラム解説

と、丁寧に解説していきます。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
IntelliJ IDEAのエディション Community(無料版)
IntelliJ IDEAのバージョン 2021.3.2
プロジェクト Javaプロジェクト
SDK Oracle OpenJDK version17.0.2

Javaを動かすためにIntelliJ IDEAを使っています。
IntelliJ IDEAのインストールは、下の記事をご参考ください。

解説で使うJavaプログラムは、Sampleプロジェクトのsampleパッケージ内にある、とします。
Javaのfor文を使ってFizzBuzz問題サンプルプログラム

うるう年(閏年)とは

うるう年とは、2月29日がある年のことです。
うるう年のルールは

  • 西暦年数が4で割り切れる場合はうるう年である
  • 西暦年数が100で割り切れる場合はうるう年でない
  • 西暦年数が400で割り切れる場合はうるう年である

です。

たとえば

  • 2000年
  • 2004年
  • 2020年

はうるう年で

  • 2001年
  • 2021年
  • 2100年

はうるう年ではありません。

うるう年(閏年)を判定するサンプルプログラム

実行結果

Javaプログラムを実行します。
実行のやり方は

  • プログラムを右クリックして実行
  • 実行タブから実行
  • ガターから実行

の3種類あるので、いずれかで実行します。
詳しい解説は以下の記事をご参考ください。

Javaのうるう年を判定するサンプルプログラム

うるう年の判定ができていることが確認できました。

プログラム解説

うるう年の判定をして結果を表示している

の箇所を解説します。

うるう年のルールは

  • 西暦年数が4で割り切れる場合はうるう年である
  • 西暦年数が100で割り切れる場合はうるう年でない
  • 西暦年数が400で割り切れる場合はうるう年である

でした。
これらの条件を

で表しています。
if文の条件式で使っている%算術演算子とは、演算子の左辺を右辺で割った余りを返す演算子です。
この演算子を使って、割り切れるかどうかを判定しています。

if文の条件は大きく分けて
Javaのうるう年を判定するサンプルプログラム
と2つにわけることができます。

の箇所で

  • 西暦年数が4で割り切れる場合はうるう年である
  • 西暦年数が100で割り切れる場合はうるう年でない

を意味しています。
4でも100でも割り切れると、うるう年ではありません。
なので上記2つのルールはどちらも満たす必要があるため、「&&」でつなげて1つの判定条件としています。

の箇所で

  • 西暦年数が400で割り切れる場合はうるう年である

を意味しています。
400で割り切れるということは同時に4でも割り切れます。
なのでこのルールだけ単独で判定しています。

この判定条件と1つ目の判定条件のどちらかを満たせばうるう年だと判定できるため「||」でつなげています。

%算術演算子については、詳しくはこちらの記事をご参考ください。

まとめ:うるう年(閏年)を判定してみよう!

以上がJavaでうるう年を判定するサンプルプログラムでした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

タイトルとURLをコピーしました