# 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?&#x20;

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.

| Method    | Description                                         | Example 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) |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://qatesting.gitbook.io/qa/java/math-class.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
