どちらか小さい値を取得する(min)

広告

引数に指定した2つの値のうち、どちらか小さい方の値を取得します。引数に指定できる数値は、double型、float型、int型、long型のどれかで、それぞれ同じ名前のメソッドが用意されています。

double型:

2 つの double 値のうち小さいほうを返します。つまり、結果は負の無限大に近いほうの値となりま
す。引数の値が同じ場合は同じ値を返します。どちらかの値が NaN の場合は NaN を返します。数値
比較演算子とは異なり、このメソッドは負のゼロが厳密には正のゼロよりも小さいと見なします。一
方の引数が正のゼロでもう一方が負のゼロの場合は、負のゼロを返します。

パラメータ:
  a - 引数
  b - 別の引数 
戻り値:
  a と b のどちらか小さいほう

float型:

2 つの float 値のうち小さいほうを返します。つまり、結果は負の無限大に近いほうの値となりま
す。引数の値が同じ場合は同じ値を返します。どちらかの値が NaN の場合は NaN を返します。数値
比較演算子とは異なり、このメソッドは負のゼロが厳密には正のゼロよりも小さいと見なします。一
方の引数が正のゼロでもう一方が負のゼロの場合は、負のゼロを返します。 

パラメータ:
  a - 引数
  b - 別の引数
戻り値:
  a と b のどちらか小さいほう

int型:

2 つの int 値のうち小さいほうを返します。引数の値が同じ場合は同じ値を返します。

パラメータ:
  a - 引数
  b - 別の引数
戻り値:
  a と b のどちらか小さいほう

long型:

2 つの long 値のうち小さいほうを返します。引数の値が同じ場合は同じ値を返します。

パラメータ:
  a - 引数
  b - 別の引数
戻り値:
  a と b のどちらか小さいほう

比較する2つの値は同じ型である必要があります。使い方は下記の通りです。

int a = 10;
int b = 20;

int min_num = Math.min(a, b);

「min」メソッドは、if文を使って下記のように記述した場合とほぼ同じです。単にどちらか小さいを取得したい場合には、if文よりも便利かと思います。

int a = 10;
int b = 20;

int min_num;

if (a <= b){
    min_num = a;
}else{
    min_num = b;
}

サンプルプログラム

では実際に試してみましょう。

testMath3.java

class testMath3{
  public static void main(String args[]){
    int a = 10;
    int b = 4;

    System.out.println("「" + a + "」と「" + b + "」では");
    System.out.println("「" + Math.min(a, b) + "」の方が小さい。");
  }
}

上記を実際にコンパイルして実行してみると下記のようになります。

p3

( Written by Tatsuo Ikura )