Floating Point Data Types in Java and Kotlin (Float vs Double) Explained
Table of Contents
Introduction
Floating-point data types are used to store numbers with decimal values. Java and Kotlin provide two floating-point types based on precision and memory size.
Floating-Point Data Types Overview
| Type | Java | Kotlin | Size | Precision |
|---|---|---|---|---|
| Float | float | Float | 32 bits | 6–7 decimal digits |
| Double | double | Double | 64 bits | 15–16 decimal digits |
1. Float Data Type
The Float data type stores decimal numbers using single-precision. It consumes less memory but provides lower accuracy compared to Double.
- Memory Size: 32 bits
- Precision: 6–7 decimal digits
- Suffix Required:
F
Kotlin Example
val pi: Float = 3.14F
println(pi)
Java Example
float pi = 3.14f;
System.out.println(pi);
2. Double Data Type
The Double data type stores decimal numbers using double-precision. It is the default floating-point type in both Java and Kotlin.
- Memory Size: 64 bits
- Precision: 15–16 decimal digits
- Used for scientific and financial calculations
Kotlin Example
val value: Double = 12345.6789012345
println(value)
Java Example
double value = 12345.6789012345;
System.out.println(value);
Java vs Kotlin – Floating-Point Differences
| Feature | Java | Kotlin |
|---|---|---|
| Default Decimal Type | double | Double |
| Implicit Conversion | Allowed | Not Allowed |
| Null Safety | No | Yes |
| Type Safety | Medium | High |
Example Difference
// Kotlin (Not Allowed)
val x: Float = 10.5F
val y: Double = x
// Kotlin (Not Allowed – explicit conversion required)
val x: Float = 10.5F
val y: Double = x.toDouble()
// Java (Allowed with casting)
float x = 10.5f;
double y = (double) x;
Interview Questions & Answers
Q1. What is the default floating-point data type?
Answer: double in Java and Double in Kotlin.
Q2. Why is Double preferred over Float?
Answer: Double provides higher precision and accuracy.
Q3. Why is the F suffix required for Float?
Answer: Decimal literals are treated as Double by default.
Q4. Are floating-point numbers exact?
Answer: No. They are approximations and may cause rounding errors.
Conclusion
Floating-point data types are essential for handling decimal values. Kotlin improves Java’s floating-point handling by enforcing strict type safety and null safety while maintaining JVM performance.
Comments
Post a Comment