Java double type

In this chapter you will learn:

  1. What is Java double type
  2. Size and value for Java double type
  3. Example - Java double type
  4. How to create double type Literals
  5. Literal Letter
  6. Scientific notation
  7. double value constant
  8. How to get the value of double infinity
  9. What is double type NaN(Not a Number)

Description

Java double type represents double-precision numbers.

Size and value

double is 64-bit width and its range is from 4.9e-324 to 1.8e+308 approximately.

Example

Here is a program that uses double variables to compute the area of a circle:


public class Main {
  public static void main(String args[]) {
    double pi, r, a;
/*  w w w.  jav  a  2 s .com*/
    r = 10.8888; // radius of circle
    pi = 3.1415926; // pi, approximately
    a = pi * r * r;

    System.out.println("Area of circle is " + a);
  }
}

The output:

Literals

double type numbers have decimal values with a fractional component. They can be expressed in either standard or scientific notation. Standard notation consists of a whole number component followed by a decimal point followed by a fractional component. For example, 2.0, 3.14159, and 0.6667.


public class Main { 
    public static void main(String args[]) { 
        double d =  3.14159; 
        System.out.print(d);//3.14159    
    } /* w  ww.  java 2  s  .  c  o  m*/
}

The code above generates the following result.

Literal Letter

You can explicitly specify a double literal by appending a D or d.


public class Main { 
    public static void main(String args[]) { 
        double d =  3.14159D; 
        System.out.print(d);//3.14159    
    } //from   w  w  w .  j a  v a2 s  . co  m
}

The code above generates the following result.

Scientific notation

Scientific notation uses a standard-notation, floating-point number plus a suffix that specifies a power of 10 by which the number is to be multiplied. The exponent is indicated by an E or e followed by a decimal number, which can be positive or negative. For example, 6.02E23, 314159E-05, and 4e+100.


public class Main {
  public static void main(String[] argv) {
    double d1 = 6.022E23;
    double d2 = 314159E-05;
    double d3 = 2e+100;
/*  w  w w.  j  av a 2 s.  c o  m*/
    System.out.println("d1 is " + d1);
    System.out.println("d2 is " + d2);
    System.out.println("d3 is " + d3);
  }

}

The output generated by this program is shown here:

double value constant

Java's floating-point calculations are capable of returning +infinity, -infinity, +0.0, -0.0, and NaN

dividing a positive number by 0.0 returns +infinity. For example, System.out.println(1.0/0.0); outputs Infinity.


public class Main{
  public static void main(String[] args) {
    System.out.println(1.0/0.0);/* w  w w  .  ja v  a 2s. c  o  m*/
  }

}

The code above generates the following result.

double Infinity

Dividing a negative number by 0.0 outputs -infinity. For example, System.out.println(-1.0/0.0); outputs -Infinity.


public class Main{
  public static void main(String[] args) {
    System.out.println(-1.0/0.0);//from w  w  w .  j a v  a2s.com
  }

}

Output:

double NaN

Dividing 0.0 by 0.0 returns NaN. square root of a negative number is NaN. For example, System.out.println(0.0/0.0) and System.out.println(Math.sqrt(-1.0)) output NaN.

Dividing a positive number by +infinity outputs +0.0. For example, System.out.println(1.0/(1.0/0.0)); outputs +0.0.

Dividing a negative number by +infinity outputs -0.0. For example, System.out.println(-1.0/(1.0/0.0)); outputs -0.0.


public class Main {
  public static void main(String[] args) {
    Double d1 = new Double(+0.0);
    System.out.println(d1.doubleValue());
    //from  ww w. j  a v  a 2 s.c  o  m
    Double d2 = new Double(-0.0);
    System.out.println(d2.doubleValue());
    System.out.println(d1.equals(d2));
    System.out.println(+0.0 == -0.0);

    
  }
}

The code above generates the following result.

Next chapter...

What you will learn in the next chapter:

  1. How to declare Java String type
  2. Literals for Java String types
  3. Example - Java String type
  4. What are the difference between equals() and ==
Home »
  Java Tutorial »
    Java Langauge »
      Java Data Types
Java Primitive Data Types
Java boolean type
Java char type
Java char value escape
Java byte type
Java short type
Java int type
Java long type
Java float type
Java double type
Java String type
Java String Escape
Java String Concatenation