Ⓜ️Math Class

The Math class contains useful common mathematical methods like square root, trigonometric functions, rounding, etc. It's located in the java.lang package, which contains core Java classes.

Why are all the methods in Math declared as static?

There are a few important reasons:

  1. Mathematics is not an object - mathematical operations don't need an object instance to work. They can be called independently.

  2. Having static methods allows calling Math methods without creating a Math object. We can simply say Math.method() rather than new Math().method().

  3. The implementations of math operations like sine, square root, etc. are optimized and don't depend on object state. They will always work the same way.

  4. Declaring methods static means there is only one copy loaded into memory. This is more efficient than creating Math objects as they are needed.

  5. Mathematics deals with immutable values like integers/doubles. Static methods are well-suited for operating on immutable values.

MethodDescriptionExample Syntax

abs(x)

Returns the absolute value of a number

Math.abs(-5)

max(a,b)

Returns the greater of two numbers

Math.max(5, 10)

min(a,b)

Returns the lesser of two numbers

Math.min(2, 20)

sqrt(a)

Returns the square root of a number

Math.sqrt(64)

pow(a, b)

Returns a raised to the power of b

Math.pow(2, 3)

random()

Returns a random double value between 0-1

Math.random()

round(a)

Rounds a decimal number to the nearest whole number

Math.round(5.3)

ceil(a)

Rounds a number up to the nearest whole number

Math.ceil(5.1)

floor(a)

Rounds a number down to the nearest whole number

Math.floor(6.9)

sin(a)

Returns the sine of an angle in radians

Math.sin(Math.PI/2)

cos(a)

Returns the cosine of an angle in radians

Math.cos(Math.PI)

tan(a)

Returns the tangent of an angle in radians

Math.tan(Math.PI/4)

Last updated