# Class Math

java.lang.Object
java.lang.Math

public final class Math extends Object
The class Math contains methods for performing basic numeric operations. Since: JDK1.0, CLDC 1.0

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final double`
  `E`
  The double value that is closer than any other to e, the base of the natural logarithms.
  `static final double`
  `PI`
  The double value that is closer than any other to , the ratio of the circumference of a circle to its diameter.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Math()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static double`
  `abs(double a)`
  Returns the absolute value of a double value.
  `static float`
  `abs(float a)`
  Returns the absolute value of a float value.
  `static int`
  `abs(int a)`
  Returns the absolute value of an int value.
  `static long`
  `abs(long a)`
  Returns the absolute value of a long value.
  `static double`
  `ceil(double a)`
  Returns the smallest (closest to negative infinity) double value that is not less than the argument and is equal to a mathematical integer.
  `static double`
  `cos(double a)`
  Returns the trigonometric cosine of an angle.
  `static double`
  `floor(double a)`
  Returns the largest (closest to positive infinity) double value that is not greater than the argument and is equal to a mathematical integer.
  `static double`
  `max(double a, double b)`
  Returns the greater of two double values.
  `static float`
  `max(float a, float b)`
  Returns the greater of two float values.
  `static int`
  `max(int a, int b)`
  Returns the greater of two int values.
  `static long`
  `max(long a, long b)`
  Returns the greater of two long values.
  `static double`
  `min(double a, double b)`
  Returns the smaller of two double values.
  `static float`
  `min(float a, float b)`
  Returns the smaller of two float values.
  `static int`
  `min(int a, int b)`
  Returns the smaller of two int values.
  `static long`
  `min(long a, long b)`
  Returns the smaller of two long values.
  `static double`
  `nextAfter(double start, double direction)`
  `static float`
  `nextAfter(float start, double direction)`
  `static double`
  `nextDown(double d)`
  `static long`
  `round(double d)`
  Returns the result of rounding the argument to an integer.
  `static int`
  `round(float f)`
  Returns the result of rounding the argument to an integer.
  `static double`
  `sin(double a)`
  Returns the trigonometric sine of an angle.
  `static double`
  `sqrt(double a)`
  Returns the correctly rounded positive square root of a double value.
  `static double`
  `tan(double a)`
  Returns the trigonometric tangent of an angle.
  `static double`
  `toDegrees(double angrad)`
  Converts an angle measured in radians to the equivalent angle measured in degrees.
  `static double`
  `toRadians(double angdeg)`
  Converts an angle measured in degrees to the equivalent angle measured in radians.

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `final Class`
  `getClass()`
  Returns the runtime class of an object.
  `int`
  `hashCode()`
  Returns a hash code value for the object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes current thread to wait until another thread invokes the method or the method for this object.
  `final void`
  `wait(long timeout)`
  Causes current thread to wait until either another thread invokes the method or the method for this object, or a specified amount of time has elapsed.
  `final void`
  `wait(long timeout, int nanos)`
  Causes current thread to wait until another thread invokes the method or the method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.

- ## Field Details

  - ### E

    public static final double E
    The double value that is closer than any other to e, the base of the natural logarithms. Since: CLDC 1.1 See Also:Constant Field Values
    See Also:
      - Constant Field Values

  - ### PI

    public static final double PI
    The double value that is closer than any other to , the ratio of the circumference of a circle to its diameter. Since: CLDC 1.1 See Also:Constant Field Values
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### Math

    public Math()

- ## Method Details

  - ### abs

    public static double abs(double a)
    Returns the absolute value of a double value. If the argument is not negative, the argument is returned. If the argument is negative, the negation of the argument is returned. Special cases: If the argument is positive zero or negative zero, the result is positive zero. If the argument is infinite, the result is positive infinity. If the argument is NaN, the result is NaN. In other words, the result is equal to the value of the expression: Double.longBitsToDouble((Double.doubleToLongBits(a)invalid input: '<'invalid input: '<'1)>>>1)

  - ### abs

    public static float abs(float a)
    Returns the absolute value of a float value. If the argument is not negative, the argument is returned. If the argument is negative, the negation of the argument is returned. Special cases: If the argument is positive zero or negative zero, the result is positive zero. If the argument is infinite, the result is positive infinity. If the argument is NaN, the result is NaN. In other words, the result is equal to the value of the expression: Float.intBitsToFloat(0x7fffffff & Float.floatToIntBits(a))

  - ### abs

    public static int abs(int a)
    Returns the absolute value of an int value. If the argument is not negative, the argument is returned. If the argument is negative, the negation of the argument is returned. Note that if the argument is equal to the value of Integer.MIN_VALUE, the most negative representable int value, the result is that same value, which is negative.

  - ### abs

    public static long abs(long a)
    Returns the absolute value of a long value. If the argument is not negative, the argument is returned. If the argument is negative, the negation of the argument is returned. Note that if the argument is equal to the value of Long.MIN_VALUE, the most negative representable long value, the result is that same value, which is negative.

  - ### ceil

    public static double ceil(double a)
    Returns the smallest (closest to negative infinity) double value that is not less than the argument and is equal to a mathematical integer. Special cases: If the argument value is already equal to a mathematical integer, then the result is the same as the argument. If the argument is NaN or an infinity or positive zero or negative zero, then the result is the same as the argument. If the argument value is less than zero but greater than -1.0, then the result is negative zero. Note that the value of Math.ceil(x) is exactly the value of -Math.floor(-x).

  - ### cos

    public static double cos(double a)
    Returns the trigonometric cosine of an angle. Special case: If the argument is NaN or an infinity, then the result is NaN.

  - ### floor

    public static double floor(double a)
    Returns the largest (closest to positive infinity) double value that is not greater than the argument and is equal to a mathematical integer. Special cases: If the argument value is already equal to a mathematical integer, then the result is the same as the argument. If the argument is NaN or an infinity or positive zero or negative zero, then the result is the same as the argument.

  - ### max

    public static double max(double a, double b)
    Returns the greater of two double values. That is, the result is the argument closer to positive infinity. If the arguments have the same value, the result is that same value. If either value is NaN, then the result is NaN. Unlike the the numerical comparison operators, this method considers negative zero to be strictly smaller than positive zero. If one argument is positive zero and the other negative zero, the result is positive zero.

  - ### max

    public static float max(float a, float b)
    Returns the greater of two float values. That is, the result is the argument closer to positive infinity. If the arguments have the same value, the result is that same value. If either value is NaN, then the result is NaN. Unlike the the numerical comparison operators, this method considers negative zero to be strictly smaller than positive zero. If one argument is positive zero and the other negative zero, the result is positive zero.

  - ### max

    public static int max(int a, int b)
    Returns the greater of two int values. That is, the result is the argument closer to the value of Integer.MAX_VALUE. If the arguments have the same value, the result is that same value.

  - ### max

    public static long max(long a, long b)
    Returns the greater of two long values. That is, the result is the argument closer to the value of Long.MAX_VALUE. If the arguments have the same value, the result is that same value.

  - ### min

    public static double min(double a, double b)
    Returns the smaller of two double values. That is, the result is the value closer to negative infinity. If the arguments have the same value, the result is that same value. If either value is NaN, then the result is NaN. Unlike the the numerical comparison operators, this method considers negative zero to be strictly smaller than positive zero. If one argument is positive zero and the other is negative zero, the result is negative zero.

  - ### min

    public static float min(float a, float b)
    Returns the smaller of two float values. That is, the result is the value closer to negative infinity. If the arguments have the same value, the result is that same value. If either value is NaN, then the result is NaN. Unlike the the numerical comparison operators, this method considers negative zero to be strictly smaller than positive zero. If one argument is positive zero and the other is negative zero, the result is negative zero.

  - ### min

    public static int min(int a, int b)
    Returns the smaller of two int values. That is, the result the argument closer to the value of Integer.MIN_VALUE. If the arguments have the same value, the result is that same value.

  - ### min

    public static long min(long a, long b)
    Returns the smaller of two long values. That is, the result is the argument closer to the value of Long.MIN_VALUE. If the arguments have the same value, the result is that same value.

  - ### sin

    public static double sin(double a)
    Returns the trigonometric sine of an angle. Special cases: If the argument is NaN or an infinity, then the result is NaN. If the argument is positive zero, then the result is positive zero; if the argument is negative zero, then the result is negative zero.

  - ### sqrt

    public static double sqrt(double a)
    Returns the correctly rounded positive square root of a double value. Special cases: If the argument is NaN or less than zero, then the result is NaN. If the argument is positive infinity, then the result is positive infinity. If the argument is positive zero or negative zero, then the result is the same as the argument.

  - ### tan

    public static double tan(double a)
    Returns the trigonometric tangent of an angle. Special cases: If the argument is NaN or an infinity, then the result is NaN. If the argument is positive zero, then the result is positive zero; if the argument is negative zero, then the result is negative zero

  - ### toDegrees

    public static double toDegrees(double angrad)
    Converts an angle measured in radians to the equivalent angle measured in degrees.

  - ### toRadians

    public static double toRadians(double angdeg)
    Converts an angle measured in degrees to the equivalent angle measured in radians.

  - ### round

    public static long round(double d)
    Returns the result of rounding the argument to an integer. The result is equivalent to `(long) Math.floor(d+0.5)`.

    Special cases:

    - `round(+0.0) = (long) +0.0`
    - `round(-0.0) = (long) +0.0`
    - `round((anything > Long.MAX_VALUE) = Long.MAX_VALUE`
    - `round((anything < Long.MIN_VALUE) = Long.MIN_VALUE`
    - `round(+infinity) = Long.MAX_VALUE`
    - `round(-infinity) = Long.MIN_VALUE`
    - `round(NaN) = (long) +0.0`
    Parameters:
      `d` - the value to be rounded.
    Returns:
      the closest integer to the argument.

  - ### round

    public static int round(float f)
    Returns the result of rounding the argument to an integer. The result is equivalent to `(int) Math.floor(f+0.5)`.

    Special cases:

    - `round(+0.0) = (int) +0.0`
    - `round(-0.0) = (int) +0.0`
    - `round((anything > Integer.MAX_VALUE) = Integer.MAX_VALUE`
    - `round((anything < Integer.MIN_VALUE) = Integer.MIN_VALUE`
    - `round(+infinity) = Integer.MAX_VALUE`
    - `round(-infinity) = Integer.MIN_VALUE`
    - `round(NaN) = (int) +0.0`
    Parameters:
      `f` - the value to be rounded.
    Returns:
      the closest integer to the argument.

  - ### nextDown

    public static double nextDown(double d)

  - ### nextAfter

    public static double nextAfter(double start, double direction)

  - ### nextAfter

    public static float nextAfter(float start, double direction)