Java Math max()函数。完整指南

302 阅读2分钟

最后更新日期:2022年1月210

Java Math max()

Java Math max() 是一个内置 方法,用于比较两个数字(intfloat、double或long类型)并返回这些数字的最大值。例如, max()方法接收一个int、double、float和long,并返回两个数字的最大值。

语法

public static int max(int a, int b)
public static double max(double a, double b)
public static float max(float a, float b)
public static long max(long a, long b)

参数

两个数字,其中的最大值将被确定。

返回值

两个参数的最大值。

见下图。

注意事项

  1. 如果一个参数是正数,另一个是负数,则返回正数参数。
  2. 如果两个参数都是负数,那么返回幅度较小的那个参数。
  3. 如果一个参数是正0,而另一个参数是负0,那么就返回正0。这是因为max()方法认为负零比正零小(与数字比较运算符不同)。
  4. 如果任何一个参数是NaN,那么最后的结果就是NaN。

请看下面的例子。

Example1.java:下面的例子演示了比较两个int、float、doublelong值。

请看下面的代码。

public class Example1 {
  public static void main(String[] args) {
    int i1 = 2;
    int i2 = 3;

    float f1 = 2.0f;
    float f2 = 3.0f;

    double d1 = 2.0;
    double d2 = 3.0;

    long l1 = 2000000;
    long l2 = 3000000;

    System.out.println(Math.max(i1, i2));
    System.out.println(Math.max(f1, f2));
    System.out.println(Math.max(d1, d2));
    System.out.println(Math.max(l1, l2));
  }
}

输出

->javac Example1.java
->java Example1
3
3.0
3.0
3000000

Example2.java。下面的例子演示了比较一个正参数和一个负参数。

public class Example2 {
  public static void main(String[] args) {
    int a = 34;
    int b = -45;

    System.out.println(Math.max(a, b));
  }
}

輸出

->javac Example2.java
->java Example2
34

Example3.java:下面的例子演示了比较两个负数参数。

public class Example3 {
  public static void main(String[] args) {
    int a = -34;
    int b = -45;
    System.out.println(Math.max(a, b));
  }
}

输出

->javac Example3.java
->java Example3
-34

Example4.java:下面的例子演示了比较正零和负零。

public class Example4 {
  public static void main(String[] args) {
    float a = -0.0f;
    float b = 0.0f;

    System.out.println(Math.max(a, b));
  }
}

输出

->javac Example4.java
->java Example4
0.0

Example5.java:下面的例子演示了一个涉及NaN参数的情况。

public class Example5 {
  public static void main(String[] args) {
    float a = 2f;
    System.out.println(Math.max(a, 2.0 % 0));
  }
}

輸出

->javac Example5.java
->java Example5
NaN

参见

Java Math floor()

Java Math abs()

Java Math copySign()

Java Math nextUp()

Java Math nextDown()