# Java Tutorial: Math Class

*Every Tuesday I take some time to put together a Java tutorial. You will notice at the top there is a page indexing them all. Enjoy!*

So turns out, I forgot yesterday was Tuesday so this Java tutorial is a day late! Since I don’t have to many readers yet, that’s okay I guess. So today I am going to go over the math class, and also some additional resources. I wont be touching on all of the methods of the Math class in this tutorial, but some that might be useful, and at the bottom I am going to link off to the documentation of the Math class on Oracles website.

Because Math is in the java.lang package, it does not need to be explicitly imported. This means there is no need for an import statement, so we will start off our program the same way we have been. Here is a generic way of showing how to utilize the Math class.

Math.method();

Pretty simple right? Just make sure that Math has a capital M and there is a . between Math and whichever method of Math you are using. Since we have not gone over methods in detail I will go over that once I show some of the useful methods of Math, and go from there.

Math.abs(some numeric value); <----returns the absolute value of a number. Math.exp(double); <-----returns the constant e raised to the double. Math.log(double); <-----returns the natural log of the double. Math.max(value, value); <------returns the max of two numbers (type int, float or double). Math.min(value, value); <------returns the min of two numbers (type int, float or double). Math.pow(double, double); <-------returns the value of the first argument raised to the second argument.

Now this is just a sample of the different methods the Math class has. To see the full list go here. Now onto methods. What is a method? I like to describe it as an action a class can perform. Math being the class, each of these things after the . are the actions that Math can perform. So you want to find the absolute value of a number? Pass the number as an * argument* to the method. This is easier to show than tell:

Math.abs(argument); --or-- Math.abs(-12);

The first example shows that the argument is passed inside the parenthesis to the method, and the second example shows you how that might look. You can also pass variables, and not just literals. Just check the documentation to make sure the data type of the variable you are trying to pass matches the data type the method is expecting. In the case of the Math class, it is usually just a number of some type (float, double, int) and usually not a String.

If you have any questions or need clarification, please leave a comment and I can get that sorted out for you!

* Edit:* Another way to use the Math class is as follows, to save time!

import static java.lang.Math.*;

public class MathTest { public static void main(String[] args) { System.out.println(abs(-12)); } }

As you can see, there is a different way of importing. While you don’t *need *to import the Math class for it to work, this will keep you from having to keep using Math.method() every time. All you need to put in your file is the following:

import static java.lang.Math.*;

Once you have that, you can call the methods as if they were functions. In the example above, you see that I am using the abs method of the Math class to find the absolute value of -12. This works for all of the methods.

Thanks Phoxis for pointing this edit out!

**Practice Problem**

Make a program that asks the user for 5 numbers, and it will determine which is the maximum number, and which is the minimum number.

Also try using all of the different Math methods, and try passing it arguments through literals AND variables. Have fun!

Why don’y you static import the Math class and avoid prepending the math functions with the “Math.” repeatedly. Save both code size and your sweat.

I was doing that mostly to show how methods of a class works, as well as introducing the Math class. But that is a good point, I will throw in an edit with that!