Java double
Java double – In Java, the double keyword is used to define a variable that holds a double-precision 64-bit IEEE 754 floating point number, which is ideal for storing decimal values with high precision.
The double data type is one of Java’s eight primitive data types. It is used when you need more precision than a float can offer.
This tutorial covers various aspects of the Java double data type, including:
- The type of values a
doublecan store and its precision. - How to declare, initialize, and update a
doublevariable. - Maximum and minimum values a
doubledata type can represent. - Printing a
doublevalue to the console output. - Performing arithmetic operations on double values.
- Converting between
doubleand other primitive data types. - Using the
Doubleclass for additional operations.
Each section includes detailed descriptions and examples to help you master double precision operations in Java.
1 Number of Bytes for a Double
A double in Java occupies 8 bytes (64 bits) of memory.
2 Range and Precision of a Double in Java
A double can represent values approximately between 4.9E-324 and 1.7976931348623157E308, providing about 15-16 decimal digits of precision.
3 Declare Variable of Type Double
To declare a double variable, use the following syntax:
double variable_name;
For example, to declare a double variable named d:
double d;
4 Initialize Variable with Double Value
You can initialize a double variable by assigning it a value. For example, to declare and initialize d with the value 3.14159:
double d = 3.14159;
5 Update a Double Variable
To update an existing double variable, assign it a new value. For example, if d is initially 2.71828 and you want to update it to 1.61803:
double d = 2.71828;
d = 1.61803;
6 Default Value of a Static Double Variable
Static double variables are automatically initialized to 0.0 if no explicit value is provided. For example:
public class Example {
static double d;
public static void main(String[] args) {
System.out.println(d);
}
}
Output:
0.0
7 Print Double to Console
To print a double to the console, use the System.out.println() method. For example:
public class Example {
public static void main(String[] args) {
double d = 6.022e23;
System.out.println(d);
}
}
Output:
6.022E23
8 Always Initialize Local Double Variables
Local variables must be explicitly initialized before use, otherwise the compiler will throw an error. Consider this example:
public class Example {
public static void main(String[] args) {
double d;
System.out.println(d);
}
}
Output (Compilation Error):
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The local variable d may not have been initialized
at Example.main(Example.java:4)
9 Double Maximum Value
You can retrieve the maximum value a double can represent by using the Double.MAX_VALUE constant. For example:
public class Example {
public static void main(String[] args) {
double d = Double.MAX_VALUE;
System.out.println(d);
}
}
Output:
1.7976931348623157E308
10 Double Minimum Value
Similarly, use the Double.MIN_VALUE constant to retrieve the smallest positive nonzero value a double can represent:
public class Example {
public static void main(String[] args) {
double d = Double.MIN_VALUE;
System.out.println(d);
}
}
Output:
4.9E-324
11 Java double – Arithmetic Operations
You can perform various arithmetic operations on double values. For example, consider the following operations on two doubles:
public class Example {
public static void main(String[] args) {
double a = 8.5;
double b = 2.5;
System.out.println("a + b = " + (a + b));
System.out.println("a - b = " + (a - b));
System.out.println("a * b = " + (a * b));
System.out.println("a / b = " + (a / b));
System.out.println("a % b = " + (a % b));
}
}
Output:
a + b = 11.0
a - b = 6.0
a * b = 21.25
a / b = 3.4
a % b = 1.0
12 Converting Double to Other Primitive Data Types
You can convert a double value to other primitive data types using typecasting. For example:
public class Example {
public static void main(String[] args) {
double d = 9.99;
int i = (int) d; // Converts to integer (decimal part is truncated)
float f = (float) d;
long l = (long) d;
char c = (char) d; // May yield an unexpected character
}
}
13 Converting Other Primitive Data Types to Java double
You can also convert other primitive types to a double using typecasting. Conversions from lower precision types (like float) or integer types are typically implicit due to widening conversion:
public class Example {
public static void main(String[] args) {
int i = 42;
double d = i; // Implicit widening conversion
float f = 3.14159f;
d = f; // Implicit widening conversion
long l = 123456789L;
d = l; // Implicit widening conversion
}
}
Conclusion
In this Java Tutorial, we explored the double data type. We learned how to declare, initialize, and update a double variable; accessed its maximum and minimum values; printed it to the console; performed arithmetic operations; converted between different primitive data types; and reviewed the use of the Double class. These fundamental concepts are essential for effectively working with high-precision decimal numbers in Java.
