Java Double – Tutorial With Programming Examples

New JavaScript Skimmer

Java Double – Tutorial With Programming Examples- With the help of terminology and programming examples, we’ll look at the double data type in this article.

The Java decimal format and huge decimal classes are presented here, along with some commonly asked questions to assist you in fully comprehending the double data type.

Java Primitive Types

Int, short, long, byte, float, double, char, and boolean are the eight primitive types of Java. The Java double is a primitive data type with a larger width and range than float.

Java Double

Java double is used to represent floating-point numbers. It uses 64 bits to store a variable value and has a range greater than float type.


// square root variable is declared with a double type.
double sqrt;

Java Double Example

In this case, we’re calculating the square root of a rectangle’s area. We determined the area as an integer by taking the length and breadth as integers.

We declared the variable Area sqrt as double and calculated the square root because the square root is most likely to give you a decimal value.

public class doubleExample {
    public static void main(String[] args) {
        int length=15, breadth=25;
        int area;
        area = length*breadth;
        // calculating area of the rectangle
        System.out.println("Area of rectangle is " + area);
        // declared a varibale which will store the square root
        double Area_sqrt;
        // calculating square root of Area of the rectangle
        Area_sqrt = Math.sqrt(area);
        System.out.println("Square root of area is " +Area_sqrt);


Java double example

Java DecimalFormat

To format the integers, Java offers a particular class called DecimalFormat. This formatting can be changed.

We’ve established a pattern delimited by a comma ‘,’ and a decimal integer of type double in the example below. We will display our input number using this pattern or format.

We used the reference ‘df’ to format the result after passing the pattern into the Decimal format class.

import java.text.DecimalFormat;
public class ExampleFormat {
   public static void main(String[] args) {
      // defining a format in which number will be displayed
      String formatter = "##,###,###.##";
      // initialized the decimal number
      double num = 12345678.12;
      // passed the pattern into the Decimal format class
      DecimalFormat df = new DecimalFormat(formatter);
      // printed the formatted number
      System.out.println("The formatted number is: " +df.format(num));


Java Decimal Format

Java BigDecimal 

This is yet another specific Java class that performs basic arithmetic operations on a number (add, subtract, multiply, and divide), as well as rounding off the result, format conversion, and other functions.

To further grasp this, consider the example below.

Adding a decimal point

The difference between simple decimal subtraction and subtraction using the Big-Decimal class is exemplified in the example below.

We have determined the difference between the values of two double variables that have been initialised. We determined the difference between two variables that were both initialised with the same value using the Big-Decimal class.

Finally, we printed both figures so that you could see the difference. Big Decimal’s determined value was automatically rounded off.

import java.math.BigDecimal;
public class example {
    public static void main(String[] args) {
        // Initialized two double numbers
        double length1 = 1.06;
        double breadth1 = 1.07;
        // Subtracting length and breadth
        double sub = breadth1-length1;
        System.out.println("Simple Subtraction = " +sub);
        // Initialized two big decimal numbers with same value
        BigDecimal length2 = new BigDecimal("1.06");
        BigDecimal breadth2 = new BigDecimal("1.07");      
// Subtracting length and breadth
        length2 = breadth2.subtract(length2);
        System.out.println("Big Decimal Subtraction = " + length2);


Java Big Decimal


We’ve covered the double primitive type with an acceptable example in this tutorial. With the applications, we’ve included DecimalFormat and BigDecimal Java.

In addition, frequently asked questions are contained in various areas of the double type, such as range, breadth, size, Math class, and so on.

After completing this tutorial, you will have a thorough understanding of the double type and will be able to use these concepts to developing your own arithmetic reasoning.

Frequently Asked Questions

Q #1) How many bytes does a double type take?

8 bytes

Q #2) What is MathContext in Java?

The MathContext is a Java class that specifies the number rounding mode and accuracy. It provides immutable objects and is also responsible for enforcing certain requirements for the Big Decimal class’s operators.

The rules are as follows:

  • RoundingMode.CEILING,
  • RoundingMode.DOWN,
  • RoundingMode.FLOOR,
  • RoundingMode.UP

In the example below, we’ve established different rules for rounding digits and initialised a double variable. This is in agreement with the output specifier we’ve provided.

For instance, in the first print statement, we’re calculating the ceiling function using the output specifier ‘3’. The output will have three digits as a result of this. Similarly, we passed ‘1’ in the last statement, indicating that the output will only contain one digit.

import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
public class example {
    public static void main(String[] args) {
        double d = 3.14;       
                // Rounded off to the upper limit, the output will contain 3 digit
        System.out.println(new BigDecimal(d, new MathContext(3,
        // Rounded off to the lower limit, the output will contain 3 digit
        System.out.println(new BigDecimal(d, new MathContext(3,
         *  Rounded off to the previous integer (discards the decimal
         *  The output will contain 1 digit
        System.out.println(new BigDecimal(d, new MathContext(1,
         *  Rounded off to the next integer (discards the decimal and
increments integer)
         *  The output will contain 1 digit
        System.out.println(new BigDecimal(d, new MathContext(1,


MathContext - Java

Q #3) Is Java Big Decimal immutable?

Yes, it is correct. When we do a specific operation in Big Decimal, they always return a new object rather than changing the already existing objects.

Q #4) What is a Math class?

In Java, a Math class contains all of the methods that are used in mathematical operations. E (2.72) and pi are two double constants (3.14).

Trigonometry methods such as sin(), cos(), and tan() are examples. exponential techniques sqrt(), log(), and pow() An example of using pow() in programming has already been provided (Java double example).

Jennifer Thomas
Jennifer Thomas is the Co-founder and Chief Business Development Officer at Cybers Guards. Prior to that, She was responsible for leading its Cyber Security Practice and Cyber Security Operations Center, which provided managed security services.