Understanding Java Primitive Data Types

Java Primitive Data Types

Java defines eight primitive data types, each with specific characteristics and ranges:

public class PrimitiveTypes {
    public static void main(String[] args) {
        // Byte type
        System.out.println("Type: Byte, Bits: " + Byte.SIZE);
        System.out.println("Wrapper: java.lang.Byte");
        System.out.println("Min Value: " + Byte.MIN_VALUE);
        System.out.println("Max Value: " + Byte.MAX_VALUE);
        System.out.println();
        
        // Short type
        System.out.println("Type: Short, Bits: " + Short.SIZE);
        System.out.println("Wrapper: java.lang.Short");
        System.out.println("Min Value: " + Short.MIN_VALUE);
        System.out.println("Max Value: " + Short.MAX_VALUE);
        System.out.println();
        
        // Integer type
        System.out.println("Type: Integer, Bits: " + Integer.SIZE);
        System.out.println("Wrapper: java.lang.Integer");
        System.out.println("Min Value: " + Integer.MIN_VALUE);
        System.out.println("Max Value: " + Integer.MAX_VALUE);
        System.out.println();
        
        // Long type
        System.out.println("Type: Long, Bits: " + Long.SIZE);
        System.out.println("Wrapper: java.lang.Long");
        System.out.println("Min Value: " + Long.MIN_VALUE);
        System.out.println("Max Value: " + Long.MAX_VALUE);
        System.out.println();
        
        // Float type
        System.out.println("Type: Float, Bits: " + Float.SIZE);
        System.out.println("Wrapper: java.lang.Float");
        System.out.println("Min Value: " + Float.MIN_VALUE);
        System.out.println("Max Value: " + Float.MAX_VALUE);
        System.out.println();
        
        // Double type
        System.out.println("Type: Double, Bits: " + Double.SIZE);
        System.out.println("Wrapper: java.lang.Double");
        System.out.println("Min Value: " + Double.MIN_VALUE);
        System.out.println("Max Value: " + Double.MAX_VALUE);
        System.out.println();
        
        // Character type
        System.out.println("Type: Character, Bits: " + Character.SIZE);
        System.out.println("Wrapper: java.lang.Character");
        System.out.println("Min Value: " + (int) Character.MIN_VALUE);
        System.out.println("Max Value: " + (int) Character.MAX_VALUE);
        System.out.println();
    }
}

Output:

Type: Byte, Bits: 8
Wrapper: java.lang.Byte
Min Value: -128
Max Value: 127

Type: Short, Bits: 16
Wrapper: java.lang.Short
Min Value: -32768
Max Value: 32767

Type: Integer, Bits: 32
Wrapper: java.lang.Integer
Min Value: -2147483648
Max Value: 2147483647

Type: Long, Bits: 64
Wrapper: java.lang.Long
Min Value: -9223372036854775808
Max Value: 9223372036854775807

Type: Float, Bits: 32
Wrapper: java.lang.Float
Min Value: 1.4E-45
Max Value: 3.4028235E38

Type: Double, Bits: 64
Wrapper: java.lang.Double
Min Value: 4.9E-324
Max Value: 1.7976931348623157E308

Type: Character, Bits: 16
Wrapper: java.lang.Character
Min Value: 0
Max Value: 65535

Byte

  • 8-bit signed integer.
  • Range: -128 to 127.
  • Default value: 0.
  • Suitable for small numeric values to save memory space.

Short

  • 16-bit signed integer.
  • Range: -32,768 to 32,767.
  • Default value: 0.
  • Uses half the memory of an int.

Integer

  • 32-bit signed integer.
  • Range: -2,147,483,648 to 2,147,483,647.
  • Default value: 0.
  • Most commonly used for integer values.

Long

  • 64-bit signed integer.
  • Range: -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807.
  • Default value: 0L.
  • Used for large integer values.

Float

  • Single precision floating point number (32 bits).
  • Default value: 0.0f.
  • Not suitable for precise calculations like monetary values.
  • Example: float value = 234.5f;

Double

  • Double precision floatnig point number (64 bits).
  • Default value: 0.0d.
  • Default type for floating-point literals.
  • Also unsuitable for exact arithmetic.
  • Example: double value = 123.4;

Boolean

  • Onlly two possible values: true or false.
  • Default value: false.
  • Example: boolean flag = true;

Character

  • 16-bit Unicode character.
  • Stores single characters.
  • Example: char symbol = 'A';

Type Conversion

  1. Converting from larger to smaller types may result in data loss.
  2. Converting from smaller to larger types is generally safe.
  3. When converting floating-point numbers to integers, decimal parts are trnucated.

Reference Types

  • Reference types hold references to objects in memory.
  • Default value is null.
  • Includes strings, arrays, and custom classes.

Tags: java primitive-data-types programming data-type-conversion reference-types

Posted on Fri, 17 Jul 2026 16:40:04 +0000 by mojodojo