Java short Keyword
Usage and Examples

short Keyword in Java

In Java, the short keyword is a primitive data type used to store whole numbers in a smaller memory footprint than int. It’s ideal when memory efficiency is more important than the range of values.

What is the Range of short in Java?

The short type is a 16-bit signed two's complement integer. It has a minimum value of -32,768 and a maximum value of 32,767.

  • Size: 2 bytes (16 bits)
  • Minimum Value: -32,768
  • Maximum Value: 32,767
  • Default Value: 0

When Should You Use short?

The short type is rarely used in modern Java applications because today’s systems have ample memory. However, it can be useful in performance-critical applications like:

  • Large arrays of numbers
  • Mobile or embedded systems
  • Memory-constrained environments

Declaring and Initializing a short Variable

public class ShortExample {
    public static void main(String[] args) {
        short temperature = 250;
        System.out.println("Current temperature is: " + temperature + "°C");
    }
}
Current temperature is: 250°C

Assigning Values Beyond the Range

Java will throw a compilation error if you try to assign a value outside the range of a short.

// Compilation Error: incompatible types
short distance = 40000;

Explicit Type Casting from int to short

If you need to store an int value into a short variable, it must be cast explicitly. But be careful—this can cause overflow.

public class TypeCastingExample {
    public static void main(String[] args) {
        int number = 40000;
        short result = (short) number;
        System.out.println("After casting: " + result);
    }
}
After casting: -25536

Explanation: The original int value (40000) overflows when stored in short, resulting in a negative number.

Using short in Arithmetic Operations

Arithmetic operations on short are internally promoted to int. So, storing the result back in short requires explicit casting.

public class ArithmeticExample {
    public static void main(String[] args) {
        short a = 1000;
        short b = 2000;
        // short sum = a + b; // Compilation error
        short sum = (short) (a + b);
        System.out.println("Sum: " + sum);
    }
}
Sum: 3000

Default Value of short

When a short variable is declared as a class member and not initialized, its default value is 0.

public class DefaultShort {
    static short value;
    public static void main(String[] args) {
        System.out.println("Default short value: " + value);
    }
}
Default short value: 0

Arrays of short

short arrays are a compact way to store a large number of small integers.

public class ShortArray {
    public static void main(String[] args) {
        short[] ages = {15, 18, 21, 30};
        for (short age : ages) {
            System.out.println("Age: " + age);
        }
    }
}
Age: 15
Age: 18
Age: 21
Age: 30

Key Takeaways

  • short is a 16-bit signed integer
  • Use it for memory efficiency in large datasets
  • Be mindful of range overflow
  • Explicit casting is often required during operations
Mallikarjuna Mallisetty, author
About the author

Mallikarjuna Mallisetty

General programming

Mallikarjuna shares practical programming tutorials and foundational concepts designed to help developers learn by building and experimenting.

View LinkedIn profile ↗