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
double
can store and its precision. - How to declare, initialize, and update a
double
variable. - Maximum and minimum values a
double
data type can represent. - Printing a
double
value to the console output. - Performing arithmetic operations on double values.
- Converting between
double
and other primitive data types. - Using the
Double
class 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.