Javaで大きな値や最大値を取得する方法:max

java max関数
  • このエントリーをはてなブックマークに追加
  • Pocket

Javaで2つの数を比較してどちらか大きな値を取得することや、最大値を求める機会は多いはずだ。

大きい値を探すには、Mathクラスのmaxメソッドを使う。

このページでは、Javaのmaxメソッドによる、「大きな値の取得」および「最大値の取得」についてお伝えしよう。参考にしてほしい。

Javaによる「どちらか大きな値」の求め方

Javaで数値を比べて、より大きな値を取得するにはmaxメソッドを利用する。

書き方の基本は簡単だ。

どちらか大きな値 = Math.max(対象となる数, 対象となる別の数)

次のようになる。

Math.max(1,2) //出力2

Javaでmaxメソッドの利用方法を確認していこう。

メソッドの型による違い

maxメソッドの引数に指定したふたつの値のどちらか大きな値を求めるが、引数に指定できる値はdouble型・float型・int型・long型と種類がある。

double型

max(double a, double b)

戻り値の型

public static double

内容

ふたつのdouble値のうち、より大きな値を戻す。

これは、結果が正の無限大により近い引数になるということだ。もし、引数が同じ値を持つならば、結果は同じ値になる。もし、どちらかの値がNaNであれば、結果はNaNになる。

数値比較演算子とは違って、このメソッドは厳密に負のゼロが正のゼロよりも小さいとみなす。もし、ひとつの引数が正のゼロで、他の引数が負のゼロならば、結果は正のゼロになる。

 

引数:a - 引数,  b - 別の引数

戻り値:aとbのうち、より大きな値

float型

max(float a, float b)

戻り値の型

public static float

内容

ふたつのfloat値のうち、より大きな値を戻す。

 

後はdouble型と同じだ。

int型

max(int a, int b)

戻り値の型

public static int

内容

ふたつのint値のうち、より大きな値を戻す。

これは、結果がInteger.MAX_VALUEにより近い引数になるということだ。もし、引数が同じ値を持つならば、結果は同じ値になる。

 

引数:a - 引数,  b - 別の引数

戻り値:aとbのうち、より大きな値

long型

max(long a, long b)

戻り値の型

public static long

内容

ふたつのlong値のうち、より大きな値を戻す。

これは、結果がLong.MAX_VALUE.により近い引数になるということだ。

後はint型と同じだ。

Javaでどちらか大きな値を求めるサンプルプログラム

それでは実際にサンプルプログラムを確認してみよう。

double型

サンプルコード

実行結果

サンプルプログラムの説明

それでは簡単にプログラムの解説をしていこう。

このプログラムは、扱うことのできる様々な値を持つ変数の比較からより大きな値を求めいている。

  • [1] 正の値を変数:positiveValueに設定する。
  • [2] 正のゼロを変数:positiveZeroに設定する。
  • [3] 負のゼロを変数:negativeZeroに設定する。
  • [4] 負の値を変数:negativeValueに設定する。
  • [5] NaNを変数:nanValueに設定する。

出力は次の通りだ。

  • [6] 正のゼロとpositiveValueのどちらか大きな値を表示する。
  • [7] 正のゼロとnegativeZeroのどちらか大きな値を表示する。
  • [8] 正のゼロとpositiveInfinitのどちらか大きな値を表示する。
  • [9] 正のゼロとnegativeValueのどちらか大きな値を表示する。
  • [10] 正のゼロとnanValueを引数とするmax()メソッドの戻り値を表示する。

int型

サンプルコード

実行結果

サンプルプログラムの説明

プログラムの解説をしていこう。

このプログラムは、異なる値を持つ変数の比較と同じ値を持つ変数の比較からより大きな値を求めいている。

  • [1] 正の値を変数:positiveValueに設定する。
  • [2] 負の値を変数:negativeValueに設定する。
  • [3] 異なる値、positiveValueとnegativeValueのどちらか大きな値を表示する。
  • [4] 同じ値、negativeValueとnegativeValueのどちらか大きな値を表示する。

Javaで最大値の求め方

Javaで最大値を求めるためには、次のようにmaxメソッドをループで回していく。サンプルコードを確認してみてほしい。

サンプルコード

実行結果

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

このプログラムは、配列に設定したいくつかの数値の中からmax関数を使って最大値を探している。

  • [1] 配列:valuesに数値を設定する。
  • [2] maxを定義し、初期値に配列:valuesの最初の配列の値を設定する。
  • [3] ループにより変数:indexを配列の2番目から最後までインクリメントする。
  • [4] maxメソッドを使って、変数:maxとindexが示す配列のより大きいほうの値をmaxに設定する。
  • [5] 最大値として変数:maxを表示する。

配列をオブジェクトに変えて、java.util.Collections.maxメソッドを使えば、ループを回す必要がなくなるが、いかんせんあまり利用されていない。しかし、これくらいは知っておくといいだろう。

まとめ

このページでは、JavaでのMathクラスのmaxメソッドによる大きな値の取得と最大値の取得についてお伝えした。

これらはプログラムを組む上で、よく登場するものだ。ぜひ理解をしておこう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*