search
HomeJavajavaTutorialMath Functions in Java

Java is one of the most useful programming languages. It has a variety of applications such as architecture building, solving calculations in science, building maps, etc. To make these tasks easy, Java provides a java.lang.Math class or Math Functions in Java that performs several operations such as square, exponential, ceil, logarithm, cube, abs, trigonometry, square root, floor, etc.

ADVERTISEMENT Popular Course in this category JAVA MASTERY - Specialization | 78 Course Series | 15 Mock Tests

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

This class provides two fields which are the basics of math class. They are,

  • ‘e’ which is the natural logarithm’s base(718281828459045)
  • ‘pi’ which is the ratio of the circumference of a circle to its diameter(141592653589793)

Various Math Functions in Java

Java offers a plethora of Math methods. They can be classified as shown below:

  • Basic Math Methods
  • Trigonometric Math Methods
  • Logarithmic Math Methods
  • Hyperbolic Math Methods
  • Angular Math Methods

Now, let us look into them in detail.

1. Basic Math Methods

For better understanding, we can implement the above methods in a Java program as shown below:

Method Return value Arguments

Example

abs()

Argument’s absolute value. i.e. positive value long, int, float, double

int n1 = Math.abs (80)  //n1=80

int n2 =Math.abs (-60) //n2=60

sqrt()

The square root of the argument double

double n= Math.sqrt (36.0) // n=6.0

cbrt()

Cube root of the argument double

double n= Math.cbrt (8.0) // n=2.0

max()

Maximum of the two values passed in the argument long, int, float, double

int n=Math.max(15,80) //n=80

min()

Minimum of the two values passed in the argument long, int, float, double

int n=Math.min(15,80) //n=15

ceil()

Rounds float value up to an integer value double double n=Math.ceil(6.34) //n=7.0
floor() Rounds float value down to an integer value double

double n=Math.floor(6.34) //n=6.0

round()

Rounds the float or double value to an integer value either up or down double, float double n = Math.round(22.445);//n=22.0 double n2 = Math.round(22.545); //n=23.0

pow()

Value of the first parameter raised to the second parameter

double

double n= Math.pow(2.0, 3.0) //n=8.0

random()

A random number between 0 and 1 double double n= Math.random() //n= 0.2594036953954201

signum()

Sign of the passed parameter.

If positive, 1 will be displayed.

If negative, -1 will be displayed.

If 0, 0 will be displayed

double, float

double n = Math. signum (22.4);//n=1.0 double n2 = Math. signum (-22.5);//n=-1.0

addExact()

Sum of the parameters. Exception is thrown if the result obtained overflows long or int value. int, long

int n= Math.addExact(35, 21)//n=56

incrementExact()

Parameter incremented by 1. The exception is thrown if the result obtained overflows int value. int, long

int n=Math. incrementExact(36) //n=37

subtractExact()

Difference of the parameters. The exception is thrown if the result obtained overflows int value. int, long

int n= Math.subtractExact(36, 11) //n=25

multiplyExact()

Sum of the parameters. Exception is thrown if the result obtained overflows long or int value. int, long

int n= Math.multiplyExact(5, 5) //n=25

decrementExact()

Parameter decremented by 1. The exception is thrown if the result obtained overflows int or long value. int, long

int n=Math. decrementExact (36) //n=35

negateExact()

The negation of the parameter. The exception is thrown if the result obtained overflows int or long value. int, long

int n=Math. negateExact(36) //n=-36

copySign()

Absolute value of the first parameter along with the sign specified in the second parameters double,float

double d= Math.copySign(29.3,-17.0) //n=-29.3

floorDiv()

Divide the first parameter by second parameter and floor operation is performed. long, int

int n= Math.floorDiv(25, 3) //n=8

hypot()

the sum of the squares of the parameters and perform square root operation. Intermediate overflow or underflow should not be there. double

double n=Math.hypot(4,3) //n=5.0

getExponent()

unbiased exponent. This exponent is represented in double or float int

double n=Math.getExponent(50.45) //n=5

Code:

//Java program to implement basic math functions
public class JavaMathFunctions {
public static void main(String[] args) {
int n1 = Math.abs(80);
System.out.println("absolute value of 80 is: "+n1);
int n2 = Math.abs(-60);
System.out.println("absolute value of -60 is: "+n2);
double n3 = Math.sqrt(36.0);
System.out.println("Square root of 36.0 is: "+n3);
double n4 = Math.cbrt(8.0);
System.out.println("cube root 0f 8.0 is: "+n4);
int n5= Math.max(15,80);
System.out.println("max value is: "+n5);
int n6 =Math.min(15,80);
System.out.println("min value is: "+n6);
double n7 = Math.ceil(6.34);
System.out.println("ceil value of 6.34 is "+n7);
double n8 = Math.floor(6.34);
System.out.println("floor value of 6.34 is: "+n8);
double n9 = Math.round(22.445);
System.out.println("round value of 22.445 is: "+n9);
double n10 = Math.round(22.545);
System.out.println("round value of 22.545 is: "+n10);
double n11= Math.pow(2.0, 3.0);
System.out.println("power value is: "+n11);
double n12= Math.random();
System.out.println("random value is: "+n12);
double n13 = Math. signum (22.4);
System.out.println("signum value of 22.4 is: "+n13);
double n14 = Math. signum (-22.5);
System.out.println("signum value of 22.5 is: "+n14);
int n15= Math.addExact(35, 21);
System.out.println("added value is: "+n15);
int n16=Math. incrementExact(36);
System.out.println("increment of 36 is: "+n16);
int n17 = Math.subtractExact(36, 11);
System.out.println("difference is: "+n17);
int n18 = Math.multiplyExact(5, 5);
System.out.println("product is: "+n18);
int n19 =Math. decrementExact (36);
System.out.println("decrement of 36 is: "+n19);
int n20 =Math. negateExact(36);
System.out.println("negation value of 36 is: "+n20);
}
}

Output:

Math Functions in Java

2. Trigonometric Math Methods

Following is the Java program to implement trigonometric math functions mentioned in the table:

Method

Return value Arguments Example

sin()

Sine value of the parameter double

double num1 = 60; //Conversion of value to radians

double value = Math.toRadians(num1); print Math.sine (value) //output is 0.8660254037844386

cos()

Cosine value of the parameter double

double num1 = 60; //Conversion of value to radians

double value = Math.toRadians(num1); print Math.cos (value) //output is           0.5000000000000001

tan()

tangent value of the parameter double

double num1 = 60; //Conversion of value to radians

double value = Math.toRadians(num1); print Math.tan(value) //output is 1.7320508075688767

asin()

Arc Sine value of the parameter. Or Inverse sine value of the parameter double

Math.asin(1.0) // 1.5707963267948966

acos()

Arc cosine value of the parameter Or Inverse Cosine value of the parameter double

Math.acos(1.0) //0.0

atan()

Arctangent value of the parameter Or Inverse tangent value of the parameter double

Math.atan(6.267) // 1.4125642791467878

Method
Return value Arguments Example

sin()

Sine value of the parameter double

double num1 = 60; //Conversion of value to radians

double value = Math.toRadians(num1); print Math.sine (value) //output is 0.8660254037844386

cos()

Cosine value of the parameter double

double num1 = 60; //Conversion of value to radians

double value = Math.toRadians(num1); print Math.cos (value) //output is           0.5000000000000001

tan()

tangent value of the parameter double

double num1 = 60; //Conversion of value to radians

double value = Math.toRadians(num1); print Math.tan(value) //output is 1.7320508075688767

asin()

Arc Sine value of the parameter. Or Inverse sine value of the parameter double

Math.asin(1.0) // 1.5707963267948966

acos()

Arc cosine value of the parameter Or Inverse Cosine value of the parameter double

Math.acos(1.0) //0.0

atan()

Arctangent value of the parameter Or Inverse tangent value of the parameter double

Math.atan(6.267) // 1.4125642791467878

Code:

//Java program to implement trigonometric math functions
public class JavaMathFunctions {
public static void main(String[] args) {
double num1 = 60;
// Conversion of value to radians
double value = Math.toRadians(num1);
System.out.println("sine value is : "+Math.sin(value));
System.out.println("cosine value is : "+Math.cos(value));
System.out.println("tangent value is : "+Math.tan(value));
double num2 = 1.0;
System.out.println("acosine value is : "+Math.acos(num2));
System.out.println("asine value is : "+Math.asin(num2));
double num3 = 6.267;
System.out.println("atangent value is : "+Math.atan(num3)); <strong>Output:</strong>

Math Functions in Java

3. Logarithmic Math Methods

Following is the sample program that implements Logarithmic math methods:

Method

Return Value Arguments

Example

expm1()

Calculate E’s power and minus 1 from it. E is Euler’s number. So here, it is ex-1. double

double n = Math.expm1(2.0) // n = 6.38905609893065

exp()

E’s power to the given parameter. That is, ex double

double n=Math.exp(2.0) //n = 7.38905609893065

log()

Natural logarithm of parameter double

double n=Math.log(38.9) //n=3.6609942506244004

log10()

Base 10 logarithm of parameter double

double n =  Math.log10(38.9) //n= 1.5899496013257077

log1p()

Natural logarithm of the sum of parameter and one. ln(x+1) double

double n =   Math.log1p(26) //n= 3.295836866004329

Code:

//Java program to implement logarithmic math functions
public class JavaMathFunctions {
public static void main(String[] args) {
double n1 = Math.expm1(2.0);
double n2 = Math.exp(2.0);
double n3 = Math.log(38.9);
double n4 = Math.log10(38.9);
double n5 = Math.log1p(26);
System.out.println("expm1 value of 2.0 is : "+n1);
System.out.println("exp value of 2.0 is : "+n2);
System.out.println("log of 38.9 is : "+n3);
System.out.println("log10 of 38.9 is : "+n4);
System.out.println("log1p of 26 is : "+n5);
}}

Output:

Math Functions in Java

4. Hyperbolic Math Methods

Following is the Java program to implement hyperbolic math functions mentioned in the table:

Method

Return value Arguments

Example

sinh()

Hyperbolic Sine value of the parameter. i.e (ex – e -x)/2 Here, E is the Euler’s number. double

double num1=Math.sinh (30) //output is 5.343237290762231E12

cosh()

Hyperbolic Cosine value of the parameter. i.e. (ex + e -x)/2 Here, E is the Euler’s number. double

double num1 = Math.cosh (60.0) //output is 5.710036949078421E25

tanh()

Hyperbolic tangent value of the parameter double

double num1= Math.tanh (60.0) //output is 1.0

Code:

//Java program to implement HYPERBOLIC math functions
public class JavaMathFunctions {
public static void main(String[] args) {
double n1 = Math.sinh (30);
double n2 = Math.cosh (60.0);
double n3 = Math.tanh (60.0);
System.out.println("Hyperbolic sine value of 300 is : "+n1);
System.out.println("Hyperbolic cosine value of 60.0 is : "+n2);
System.out.println("Hyperbolic tangent value of 60.0 is : "+n3);
}
}

Output:

Math Functions in Java

5. Angular Math Methods

Method Return Value Arguments Example
toRadians() Degree angle converts to radian angle double

double n = Math.toRadians(180.0) //n= 3.141592653589793

toDegrees() Radian angle converts to Degree angle double

double n = Math. toDegrees (Math.PI) //n=180.0

 Now, let us see a sample program to demonstrate Angular Math methods.

Code:

//Java program to implement Angular math functions
public class JavaMathFunctions {
public static void main(String[] args) {
double n1 = Math.toRadians(180.0);
double n2 = Math. toDegrees (Math.PI);
System.out.println("Radian value of 180.0 is : "+n1);
System.out.println("Degree value of pi is : "+n2);
}
}

Output:

Math Functions in Java

Conclusion

Java offers a wide variety of math functions to perform different tasks such as scientific calculations, architecture designing, structure designing, building maps, etc. This document discusses several basic, trigonometric, logarithmic and angular math functions in detail with sample programs and examples.

The above is the detailed content of Math Functions in Java. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Is java still a good language based on new features?Is java still a good language based on new features?May 12, 2025 am 12:12 AM

Javaremainsagoodlanguageduetoitscontinuousevolutionandrobustecosystem.1)Lambdaexpressionsenhancecodereadabilityandenablefunctionalprogramming.2)Streamsallowforefficientdataprocessing,particularlywithlargedatasets.3)ThemodularsystemintroducedinJava9im

What Makes Java Great? Key Features and BenefitsWhat Makes Java Great? Key Features and BenefitsMay 12, 2025 am 12:11 AM

Javaisgreatduetoitsplatformindependence,robustOOPsupport,extensivelibraries,andstrongcommunity.1)PlatformindependenceviaJVMallowscodetorunonvariousplatforms.2)OOPfeatureslikeencapsulation,inheritance,andpolymorphismenablemodularandscalablecode.3)Rich

Top 5 Java Features: Examples and ExplanationsTop 5 Java Features: Examples and ExplanationsMay 12, 2025 am 12:09 AM

The five major features of Java are polymorphism, Lambda expressions, StreamsAPI, generics and exception handling. 1. Polymorphism allows objects of different classes to be used as objects of common base classes. 2. Lambda expressions make the code more concise, especially suitable for handling collections and streams. 3.StreamsAPI efficiently processes large data sets and supports declarative operations. 4. Generics provide type safety and reusability, and type errors are caught during compilation. 5. Exception handling helps handle errors elegantly and write reliable software.

How do Java's Top Features Impact Performance and Scalability?How do Java's Top Features Impact Performance and Scalability?May 12, 2025 am 12:08 AM

Java'stopfeaturessignificantlyenhanceitsperformanceandscalability.1)Object-orientedprincipleslikepolymorphismenableflexibleandscalablecode.2)Garbagecollectionautomatesmemorymanagementbutcancauselatencyissues.3)TheJITcompilerboostsexecutionspeedafteri

JVM Internals: Diving Deep into the Java Virtual MachineJVM Internals: Diving Deep into the Java Virtual MachineMay 12, 2025 am 12:07 AM

The core components of the JVM include ClassLoader, RuntimeDataArea and ExecutionEngine. 1) ClassLoader is responsible for loading, linking and initializing classes and interfaces. 2) RuntimeDataArea contains MethodArea, Heap, Stack, PCRegister and NativeMethodStacks. 3) ExecutionEngine is composed of Interpreter, JITCompiler and GarbageCollector, responsible for the execution and optimization of bytecode.

What are the features that make Java safe and secure?What are the features that make Java safe and secure?May 11, 2025 am 12:07 AM

Java'ssafetyandsecurityarebolsteredby:1)strongtyping,whichpreventstype-relatederrors;2)automaticmemorymanagementviagarbagecollection,reducingmemory-relatedvulnerabilities;3)sandboxing,isolatingcodefromthesystem;and4)robustexceptionhandling,ensuringgr

Must-Know Java Features: Enhance Your Coding SkillsMust-Know Java Features: Enhance Your Coding SkillsMay 11, 2025 am 12:07 AM

Javaoffersseveralkeyfeaturesthatenhancecodingskills:1)Object-orientedprogrammingallowsmodelingreal-worldentities,exemplifiedbypolymorphism.2)Exceptionhandlingprovidesrobusterrormanagement.3)Lambdaexpressionssimplifyoperations,improvingcodereadability

JVM the most complete guideJVM the most complete guideMay 11, 2025 am 12:06 AM

TheJVMisacrucialcomponentthatrunsJavacodebytranslatingitintomachine-specificinstructions,impactingperformance,security,andportability.1)TheClassLoaderloads,links,andinitializesclasses.2)TheExecutionEngineexecutesbytecodeintomachineinstructions.3)Memo

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools