【Java】すぐに理解できる!maxを使って2つの数値の大きい方を求める!

2つの数値の大きい方を求める場合にはMathクラスのmaxメソッドを使用します。

Mathクラスのmaxメソッドは、2つの数値を比較して大きい方の値を取得するメソッドであり、引数に指定できる値はdouble型・float型・int型・long型と種類があります。

しかし、int型とdouble型のように違う型同士を引数に指定すると比較はできませんので注意してください。

今回はMathクラスのmaxをメソッドを使って以下の場合に2つの数値の大きい方を求めていきます。
⚫︎ 2つの数値を比較し、大きい方を求める場合
⚫︎ 正の0と負の0を比較し、大きい方を求める場合
⚫︎ NaN(非数)値と比較し、大きい方を求める場合

maxメソッドとは

Mathクラスのmaxメソッドは、数値を比較してより大きな値を取得するメソッドとなります。

maxメソッドの書き方

maxメソッドの構文は下記となります。

maxの()に数値1と数値2を指定することで数値1と数値2の値を比較し、大きい方の数値を取り出します。

また、比較対象のどちらかにNaN値が含まれている場合は「NaN」を戻します。

maxメソッドの注意点

3つ以上の数値を比較することができない

また、maxメソッドは3つ以上の数値を比較することはできません。

出力結果

Main.java:9: error: no suitable method found for max(int,int,int)

適したメソッドが見つからない為、エラーが発生しています。
maxメソッドは2つの数値を比較するメソッドなのでパラメータは2つになります。

2つの数値が違う型だと比較することができない

「int型とdouble型」のように2つの数値が違う型だと比較することができませんので注意してください。

出力結果

incompatible types: possible lossy conversion from double to int

int型とdouble型を比較しようとしている為、エラーが発生しています。

2つの数値の大きい方を求めるサンプルコード

2つの数値の大きい方を求めるサンプルコードを紹介します。

2つの数値を比較する場合

出力結果

val1とval2とを比較:123

無限大の場合は最大値、最小値を四捨五入して返します。

正の0と負の0を比較する場合

出力結果

[0.0]と[-0.0]とを比較:0.0

正のゼロと負のゼロを比較した場合は、正のゼロを戻します。

Nan値と比較する場合

出力結果

NaNと[456]とを比較:NaN
NaNと[-456]とを比較:NaN

NaNが含まれる数字と比較する場合はNaNを返します。

今回のポイント

maxで2つの数値の大きい方を求める

2つの数値の大きい方を求めるにはMathクラスのmaxメソッドを使用する。

⚫︎ Mathクラスのmaxメソッドで比較したい2つの数値をパラメータとして渡すと、大きい方の数値を返す

⚫︎ maxメソッドは3つ以上の数値を比較したり、違う型同士で比較することはできない

⚫︎ maxメソッドのパラメータに正のゼロと負のゼロを比較した場合は、正のゼロを返す

⚫︎ maxメソッドのパラメータに「NaN」値が含まれている場合は、NaNを戻します。

関連記事

2つの数値を比較し、小さい方を求めるminメソッドについてはこちらをご参考ください。

Writer

ST

株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報