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