This site is retired and is no longer updated since November 2021. Please visit our new website at https://www.teamscode.org for up-to-date information!
The Math Class

Code Bar
Math.abs(int); Absolute Value Function for Ints
Math.abs(double); Absolute Value Function for Doubles
Math.pow(double, double); Power Function
Math.sqrt(double); Square Root Function
Math.random(); Random Number Generator

As you may have noticed, the Java set of basic numeral operators is missing some fundamental functions, such as exponents and absolute values. Java wrapped all of those into a helper class named Math. Inside the Math class, Java has implemented the absolute value function, the power function, and the square root function. The Math class also holds Euler’s number and Pi as constants. And the final method you need to know in the Math class is the random method; it functions as a random number generator.

The syntax for the Math class’s methods:

First you type Math. Math is the class from which the method is being called. Next you place at period, and finally the method. The method should be followed by parenthesis and a semicolon. Inside the parenthesis should be the list of parameters needed.

For the math absolute value function you would type Math.abs();. Inside the parenthesis you would enter the parameters. The absolute function accepts either a double or an int. The function will return the absolute value of the parameter in same type entered.

    System.out.println(Math.abs(5));        // 5

    System.out.println(Math.abs(-5));       // 5

    System.out.println(Math.abs(5.0));      // 5.0

    System.out.println(Math.abs(-5.0));     // 5.0

The power function in the Math.class takes two doubles and returns the first double raised to the second double. Since ints are truncated doubles, inputting ints will work, but however the answer will still be returned in double form. For example, take a look at the following code, which prints the squares and cubes of the numbers 1 to 3:

    /* Squares */

    System.out.println(Math.pow(1, 2)); // 1^2 == 1.0

    System.out.println(Math.pow(2, 2)); // 2^2 == 4.0

    System.out.println(Math.pow(3, 2)); // 3^2 == 9.0

    /* Cubes */

    System.out.println(Math.pow(1, 3)); // 1^3 == 1.0

    System.out.println(Math.pow(2, 3)); // 2^3 == 8.0

    System.out.println(Math.pow(3, 3)); // 3^3 == 27.0

The square root function takes only one double, and returns the square root of it. Like the power function inputting ints will also work, but it will return a double answer. See the code below:

    System.out.println(Math.sqrt(1));       // 1.0

    System.out.println(Math.sqrt(4));       // 2.0

    System.out.println(Math.sqrt(9.0));     // 3.0

And the final function Math.random() produces a random double above or equal to 0, and below 1. If you multiple that returned digit by a number, then you can use it essentially as a random number generator. The following code will print a random number between one and hundred. First Math.random() returns a number between 0 and 1 (0, 1]. Then, after being multiplied by 100, the value is between 0 and 99.99… If we truncate this new value we get from 0 to 99. Finally, when you add one to the set, you get the range of 1 to 100.

    int x = (int) (Math.random() * 100) + 1;

The final thing to remember is that the Math class holds the constant Pi and Euler’s Number.

    double x = Math.PI; // 3.141592...

    double y = Math.E;  // 2.718281...

Lesson Quiz

1. What is the output of the following code blocks?

    int x = Math.abs(3) + Math.abs(-4);

    System.out.println(x);
a. 5
b. 6
c. 7
    System.out.println(Math.abs(-4.0));
a. 4
b. 4.0
c. -4
    System.out.println(Math.pow(4.0, 3.0));
a. 7.0
b. 12.0
c. 64.0
    System.out.println(Math.sqrt(Math.pow(4.0, 4.0)));
a. 16
b. 24
c. 64

Written by Jason Zhang

Notice any mistakes? Please email us at learn@teamscode.com so that we can fix any inaccuracies.