Primitive data types store simple values like numbers and letters. They are the basic building blocks for data in Java.
Primitive data types in Java
public class PrimitiveDataTypes { byte aByte; // 8-bit integer short aShort; // 16-bit integer int anInt; // 32-bit integer long aLong; // 64-bit integer float aFloat; // 32-bit decimal double aDouble; // 64-bit decimal char aChar; // 16-bit Unicode character boolean aBoolean; // true or false }
Each primitive type has a fixed size and stores a simple value.
Primitive types are not objects and do not have methods.
L suffix for long literals.byte smallNumber = 100; short mediumNumber = 30000; int largeNumber = 1000000; long veryLargeNumber = 10000000000L;
f suffix for float literals. Double is more precise than float.float decimalNumber = 3.14f; double preciseDecimal = 3.1415926535;
char letter = 'A'; boolean isJavaFun = true;
int zero = 0; boolean isZero = false;
This program shows how to declare and use all primitive data types in Java. It prints their values to the screen.
public class PrimitiveDataTypesDemo { public static void main(String[] args) { byte age = 25; short year = 2024; int population = 1000000; long distanceToMoon = 384400000L; float price = 19.99f; double pi = 3.1415926535; char grade = 'A'; boolean isJavaFun = true; System.out.println("Age: " + age); System.out.println("Year: " + year); System.out.println("Population: " + population); System.out.println("Distance to Moon (meters): " + distanceToMoon); System.out.println("Price: $" + price); System.out.println("Pi: " + pi); System.out.println("Grade: " + grade); System.out.println("Is Java fun? " + isJavaFun); } }
Time complexity is not applicable because these are simple data holders.
Primitive types use fixed memory sizes, so they are fast and efficient.
Common mistake: Using float without f suffix causes errors.
Use primitive types when you need simple values and want better performance than objects.
Primitive data types store simple values like numbers, characters, and true/false.
They have fixed sizes and are not objects.
Use the right type based on the size and kind of data you want to store.
Practice
Solution
Step 1: Recall Java primitive types
Java primitive types include int, boolean, char, byte, short, long, float, and double.Step 2: Identify non-primitive type
String is a class in Java, not a primitive type.Final Answer:
String -> Option DQuick Check:
Primitive types exclude classes like String [OK]
- Confusing String as primitive
- Thinking boolean is not primitive
- Mixing wrapper classes with primitives
byte in Java?Solution
Step 1: Understand byte range
byte stores values from -128 to 127 inclusive.Step 2: Check each option
byte b = 128; uses 128 which is out of range; byte b = 127; uses 127 which is valid; byte b = 'a'; assigns a char which is not directly compatible; byte b = 128L; uses long literal 128L which is invalid for byte.Final Answer:
byte b = 127; -> Option AQuick Check:
byte max value = 127 [OK]
- Assigning values outside byte range
- Using char or long literals directly
- Not knowing byte limits
int x = 5; float y = 2.0f; System.out.println(x + y);
Solution
Step 1: Understand type promotion in expression
int x is promoted to float when added to float y.Step 2: Calculate the sum and output type
5 + 2.0f = 7.0 (float), but println prints float as decimal number without suffix.Final Answer:
7.0 -> Option AQuick Check:
int + float = float output 7.0 [OK]
- Expecting integer output
- Confusing float suffix in output
- Ignoring type promotion rules
char c = 'AB';
Solution
Step 1: Check char assignment rules
char stores a single 16-bit Unicode character, so it must be assigned a single character in single quotes.Step 2: Analyze the given code
'AB' is two characters, which is invalid for char type.Final Answer:
char can only hold a single character -> Option CQuick Check:
char = single character only [OK]
- Assigning multiple characters to char
- Confusing char with String
- Forgetting single quotes for char
int can hold. Which primitive type should you use in Java?Solution
Step 1: Recall int and long ranges
int holds up to about 2 billion (2^31-1), long holds much larger values (2^63-1).Step 2: Choose type for large whole number
long is the correct primitive type for large integers beyond int range; float and double are for decimals, short is smaller than int.Final Answer:
long -> Option BQuick Check:
Use long for large integers beyond int [OK]
- Using float/double for whole numbers
- Choosing short which is smaller
- Not knowing long size
Ready to prove it?
Pass the test and this pattern moves unknown
