Math class methods in Java with Examples | Set 2

java.math class and its methods | Set 1

1. abs() : java.math.abs() method returns the absolute value of any type of argument passed. This method can handle all the data types.
Special Case :

• Result is positive zero, if the argument is positive zero or negative zero.
• Result is positive infinity, if the argument is infinite.
• Result is NaN, if passed argument is NaN.

Syntax:

```public static datatype abs(datatype arg)
Parameters:
arg - the argument whose absolute value we need
Returns:
absolute value of the passed argument.
```
2. acos() : java.math.acos() method returns the arc cosine value of the passed argument.
arc cosine is inverse cosine of the argument passed.
acos(arg) = cos-1 of arg
Special Case : Result is NaN, if the argument is NaN or its absolute value is greater than 1.
Syntax:

```public static double acos(double a)
Parameters:
a - the argument whose arc cosine value we need.
Returns:
arc cosine value of the argument.
```
Special Point : Math class usually takes radians as an input which is very much different in real life applications since angles is usually represented in degrees.
Syntax:

```public static double toRadians(double deg)
Parameters:
deg - degree angle needs to be in radian.
Returns:
radians equivalent of the degree-argument passed.
```
4. What is NaN argument ?
A constant holding a Not-a-Number (NaN) value of type double. It is equivalent to the value returned by Double.longBitsToDouble(0x7ff8000000000000L).

Java code explaining abs(), acos(), toRadians() method in Math class.

 `// Java program explaining Math class methods ` `// abs(), acos(), toRadians() ` `import` `java.math.*; ` `public` `class` `NewClass ` `{ ` ` `  `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``// Declaring the variables ` `        ``int` `Vali = -``1``; ` `        ``float` `Valf = .5f; ` ` `  `        ``// Printing the values ` `        ``System.out.println(``"Initial value of int  : "``+Vali); ` `        ``System.out.println(``"Initial value of int  : "``+Valf); ` ` `  ` `  `        ``// Use of .abs() method to get the absoluteValue ` `        ``int` `Absi = Math.abs(Vali); ` `        ``float` `Absf = Math.abs(Valf); ` ` `  `        ``System.out.println(``"Absolute value of int : "``+Absi); ` `        ``System.out.println(``"Absolute value of int : "``+Absf); ` `        ``System.out.println(``""``); ` ` `  `        ``// Use of acos() method ` `        ``// Value greater than 1, so passing NaN ` `        ``double` `Acosi = Math.acos(``60``); ` `        ``System.out.println(``"acos value of Acosi : "``+Acosi); ` `        ``double` `x = Math.PI; ` ` `  `        ``// Use of toRadian() method ` `        ``x = Math.toRadians(x); ` `        ``double` `Acosj = Math.acos(x); ` `        ``System.out.println(``"acos value of Acosj : "``+Acosj); ` `         `  `    ``} ` `} `

Output:

```Initial value of int  : -1
Initial value of int  : 0.5
Absolute value of int : 1
Absolute value of int : 0.5

acos value of Acosi : NaN
acos value of Acosj : 1.5159376794536454
```
5. addExact() : java.math.addExact(int a, int b) method returns the sum of the passed arguments.
Special point : If Result overflows an int or long (according to the passed argument), the method throws ArithmeticException.
Syntax:

```public static int addExact(int x, int y)
or
public static long addExact(long x, long y)
Parameters:
a - first value
b - second value
Returns:
Sum of the specified method arguments - a and b.
```
6. asin() : java.math.asin() method returns the arc sine value of the method argument passed. Returned angle is in the range -pi/2 to pi/2.
arc sine is inverse sine of the argument passed.
asin(arg) = sine-1 of arg
Special Case :

• Result is NaN,if the argument is NaN or its absolute value is greater than 1.
• Result is a zero, if the argument is zero.

Syntax:

```public static double asin(double arg)
Parameters:
arg - argument passed.
Returns:
arc sine of the argument passed.
```
7. cbrt() : java.math.cbrt() method returns the cube root of the passed argument.
Special Point :

• Result is NaN, if the argument is NaN.
• Result is an infinity with the same sign as the argument, if the argument is infinite.
• Result is a zero, if the argument is zero.

Syntax:

```public static double cbrt(double arg)
Parameters:
arg - argument passed.
Returns:
cube root of the argument passed
```
8. Java code explaining addExact(), asin(), cbrt() method in Math class.

 `// Java program explaining Math class methods ` `// addExact(), asin(), cbrt() ` `import` `java.math.*; ` `public` `class` `NewClass ` `{ ` ` `  `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``int` `a = ``1``, b = ``8``; ` ` `  `        ``// get the result of addExact method ` `        ``int` `radd = Math.addExact(a,b); ` `        ``System.out.println(``"Using addExact() : "``+radd); ` `        ``System.out.println(``""``); ` ` `  `        ``// Use of acos() method ` `        ``// Value greater than 1, so passing NaN ` `        ``double` `Asini = Math.asin(radd); ` `        ``System.out.println(``"asin value of Asini : "``+Asini); ` `        ``double` `x = Math.PI; ` ` `  `        ``// Use of toRadian() method ` `        ``x = Math.toRadians(x); ` `        ``double` `Asinj = Math.asin(x); ` `        ``System.out.println(``"asin value of Asinj : "``+Asinj); ` `        ``System.out.println(``""``); ` ` `  `        ``// Use of cbrt() method ` `        ``double` `cbrtval = Math.cbrt(``216``); ` `        ``System.out.println(``"cube root : "``+cbrtval); ` ` `  `    ``} ` `} `

Output:

```Using addExact() : 9

acos value of Asini : NaN
acos value of Asinj : 0.054858647341251204

cube root : 6.0
```
9. floor() : java.math.floor() method returns the floor value of an argument i.e. the closest integer value which is either less or equal to the passed argument.
eg : 101.23 has floor value = 101
Important point : Same argument is resulted if if passed an NaN or infinite argument.

```Syntax:
public static double floor(double arg)
Parameters:
arg - the argument whose floor value we need
Returns:closest possible value that is either less than
or equal to the argument passed
```
10. hypot() : java.math.hypot(double p, double b) method returns hypotenuse of a right triangle on passing the traingle’s base and perpendicular as arguments.
hypotenuse = [perpendicular2 + base2]1/2

Important Point :

• If either argument is infinite, then the result is positive infinity.
• If either argument is NaN and neither argument is infinite, then the result is NaN.
```Syntax:
public static double hypot(double p, double b)
Parameters:
p - perpendicular of the right triangle
b - base of the right triangle
Returns:
hypotenuse of the right triangle
```
11. IEEEremainder() : java.math.IEEERemainder(double d1, double d2) method returns the remainder value by applying remainder operation on two arguments w.r.t IEEE 754 standard.
Remainder value = d1 – d2 * n
where,
n = closest exact value of d1/d2

```Syntax:
public static double IEEEremainder(double d1,double d2)
Parameters:
d1 - dividend
d2 - divisor
Returns:
remainder when f1(dividend) is divided by(divisor)
```
12. log() : java.math.log() method returns the logarithmic value of the passed argument.
```Syntax:
public static double log(double arg)
Parameters:
arg - argument passed.
Returns:
logarithmic value of the argument passed.
```
13. Java code explaining floor(), hypot(), IEEEremainder(), log() method in Math class.

 `// Java program explaining MATH class methods ` `// floor(), hypot(), IEEEremainder(), log() ` `import` `java.lang.*; ` `public` `class` `NewClass ` `{ ` ` `  `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``// Use of floor method ` `        ``double` `f1 = ``30.56``, f2 = -``56.34``; ` `        ``f1 =Math.floor(f1); ` `        ``System.out.println(``"Floor value of f1 : "``+f1); ` ` `  `        ``f2 =Math.floor(f2); ` `        ``System.out.println(``"Floor value of f2 : "``+f2); ` `        ``System.out.println(``""``); ` ` `  `        ``// Use of hypot() method ` `        ``double` `p = ``12``, b = -``5``; ` `        ``double` `h = Math.hypot(p, b); ` `        ``System.out.println(``"Hypotenuse : "``+h); ` `        ``System.out.println(``""``); ` ` `  `        ``// Use of IEEEremainder() method ` `        ``double` `d1 = ``105``, d2 = ``2``; ` `        ``double` `r = Math.IEEEremainder(d1,d2); ` `        ``System.out.println(``"Remainder : "``+r); ` `        ``System.out.println(``""``); ` `         `  `        ``// Use of log() method ` `        ``double` `l = ``10``; ` `        ``l = Math.log(l); ` `        ``System.out.println(``"Log value of 10 : "``+l); ` `         `  `    ``} ` `} `

Output:

```Floor value of f1 : 30.0
Floor value of f2 : -57.0

Hypotenuse : 13.0

Remainder : 1.0

Log value of 10 : 2.302585092994046
```

java.math class and its methods | Set 3

This article is contributed by Mohit Gupta. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Attention reader! Don’t stop learning now. Get hold of all the important Java and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Improved By : Akanksha_Rai

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.