Copyright © tutorialspoint.com

# Java - Number Class

Normally, when we work with Numbers, we use primitive data types such as byte, int, long, double etc.

## Example:

    int i = 5000;
    float gpa = 13.65;
    byte mask = 0xaf;

However in development we come across situations were we need to use objects instead of primitive data types. In-order to achieve this Java provides wrapper classes for each primitive data type.

All the wrapper classes ( Integer, Long, Byte, Double, Float, Short) are subclasses of the abstract class Number.

This wrapping is taken care of by the compiler The process is called boxing. So when a primitive is used when an object is required the compiler boxes the primitive type in its wrapper class. Similarly the compiler unboxes the object to a primitive as well. The Number is part of the java.lang package.

Here is an example of boxing and unboxing:

    public class Test{
       public static void main(String args[]){
          Integer x = 5; // boxes int to an Integer object
          x =  x + 10;   // unboxes the Integer to a int
          System.out.println(x);
       }
    }

This would produce following result:

    15

When x is assigned integer values, the compiler boxes the integer because x is integer objects. Later, x is unboxed so that they can be added as integers.

# Number Methods:

Here is the list of the instance methods that all the subclasses of the Number class implement:

SN | Methods with Description
--- | ---
1 | xxxValue() Converts the value of this Number object to the xxx data type and returned it.
2 | compareTo() Compares this Number object to the argument.
3 | equals() Determines whether this number object is equal to the argument.
4 | valueOf() Returns an Integer object holding the value of the specified primitive.
5 | toString() Returns a String object representing the value of specified int or Integer.
6 | parseInt() This method is used to get the primitive data type of a certain String.
7 | abs() Returns the absolute value of the argument.
8 | ceil() Returns the smallest integer that is greater than or equal to the argument. Returned as a double.
9 | floor() Returns the largest integer that is less than or equal to the argument. Returned as a double.
10 | rint() Returns the integer that is closest in value to the argument. Returned as a double.
11 | round() Returns the closest long or int, as indicated by the method's return type, to the argument.
12 | min() Returns the smaller of the two arguments.
13 | max() Returns the larger of the two arguments.
14 | exp() Returns the base of the natural logarithms, e, to the power of the argument.
15 | log() Returns the natural logarithm of the argument.
16 | pow() Returns the value of the first argument raised to the power of the second argument.
17 | sqrt() Returns the square root of the argument.
18 | sin() Returns the sine of the specified double value.
19 | cos() Returns the cosine of the specified double value.
20 | tan() Returns the tangent of the specified double value.
21 | asin() Returns the arcsine of the specified double value.
22 | acos() Returns the arccosine of the specified double value.
23 | atan() Returns the arctangent of the specified double value.
24 | atan2() Converts rectangular coordinates (x, y) to polar coordinate (r, theta) and returns theta.
25 | toDegrees() Converts the argument to degrees
26 | toRadians() Converts the argument to radians.
27 | random() Returns a random number.

## What is Next ?

In the next section we will be going through the Character class in Java. You will be learning how to use object Characters and primitive data type char in Java.

Copyright © tutorialspoint.com