Math class methods in Java with Examples | Set 2
java.math class and its methods | Set 1
java.math class methods discussed in this article :
- 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.
- 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. argument is taken as radian Returns: arc cosine value of the argument.
- toRadians() : java.math.toRadians(double deg) method converts argument (degree) to radians.
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.
- 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.
- 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.
- 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
- 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 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
- hypot() : java.math.hypot(double p, double b) method returns hypotenuse of a right triangle on passing the triangle’s base and perpendicular as arguments.
hypotenuse = [perpendicular2 + base2]1/2Important 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
- 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/d2Syntax: public static double IEEEremainder(double d1,double d2) Parameters: d1 - dividend d2 - divisor Returns: remainder when f1(dividend) is divided by(divisor)
- 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.
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
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
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
Contact Us