Bird
Raised Fist0
Javaprogramming~10 mins

Primitive data types in Java - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Primitive data types
Declare variable with type
↓
Assign value to variable
↓
Store value in memory
↓
Use variable in operations
↓
End or reassign
Primitive data types are basic types that store simple values directly in memory. You declare, assign, and use them in operations.
Execution Sample
Java
int age = 25;
boolean isStudent = true;
double price = 19.99;
This code declares three primitive variables with values: an integer, a boolean, and a double.
Execution Table
StepActionVariableTypeValue StoredMemory Representation
1Declare and assignageint254 bytes storing 25
2Declare and assignisStudentbooleantrue1 byte storing true
3Declare and assignpricedouble19.998 bytes storing 19.99
4Use variableageint25Value used in operations
5Use variableisStudentbooleantrueValue used in conditions
6Use variablepricedouble19.99Value used in calculations
7End---Program ends, variables go out of scope
💡 Program ends after using all declared primitive variables.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3Final
ageundefined25252525
isStudentundefinedundefinedtruetruetrue
priceundefinedundefinedundefined19.9919.99
Key Moments - 3 Insights
Why does 'boolean' use less memory than 'int' or 'double'?
Boolean stores only true or false, so it uses just 1 bit, while int and double store numbers needing more bytes (4 and 8 respectively), as shown in execution_table steps 1-3.
Can we assign a decimal number to an int variable?
No, int stores whole numbers only. Assigning a decimal like 19.99 to int would cause an error. See execution_table step 1 where age is assigned 25 (whole number).
What happens to primitive variables after the program ends?
They go out of scope and memory is freed automatically, as noted in execution_table step 7.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 2, what value is stored in 'isStudent'?
A1
Btrue
Cfalse
Dundefined
💡 Hint
Check the 'Value Stored' column for step 2 in execution_table.
At which step does the variable 'price' get its value assigned?
AStep 3
BStep 2
CStep 1
DStep 4
💡 Hint
Look for 'price' in the 'Variable' column and see when it gets assigned a value.
If we tried to assign 19.99 to 'age' (int), what would happen?
AIt would store 19.99 correctly
BIt would store 19
CIt would cause a compile-time error
DIt would store 0
💡 Hint
Recall key_moments about type compatibility and assignment errors.
Concept Snapshot
Primitive data types store simple values directly.
Common types: int (whole numbers), boolean (true/false), double (decimal numbers).
Declare with type, assign value, then use.
Each type uses fixed memory size.
Cannot mix incompatible types without conversion.
Full Transcript
Primitive data types in Java are basic types that hold simple values directly in memory. Examples include int for whole numbers, boolean for true or false, and double for decimal numbers. You declare a variable by specifying its type and name, then assign a value. Each type uses a fixed amount of memory: int uses 4 bytes, boolean uses 1 bit, and double uses 8 bytes. These variables can then be used in operations like calculations or conditions. After the program ends, these variables go out of scope and their memory is freed automatically.

Practice

(1/5)
1. Which of the following is NOT a primitive data type in Java?
easy
A. char
B. boolean
C. int
D. String

Solution

  1. Step 1: Recall Java primitive types

    Java primitive types include int, boolean, char, byte, short, long, float, and double.
  2. Step 2: Identify non-primitive type

    String is a class in Java, not a primitive type.
  3. Final Answer:

    String -> Option D
  4. Quick Check:

    Primitive types exclude classes like String [OK]
Hint: Remember primitives are simple types, not objects like String [OK]
Common Mistakes:
  • Confusing String as primitive
  • Thinking boolean is not primitive
  • Mixing wrapper classes with primitives
2. Which of the following is the correct way to declare a variable of type byte in Java?
easy
A. byte b = 127;
B. byte b = 128;
C. byte b = 'a';
D. byte b = 128L;

Solution

  1. Step 1: Understand byte range

    byte stores values from -128 to 127 inclusive.
  2. 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.
  3. Final Answer:

    byte b = 127; -> Option A
  4. Quick Check:

    byte max value = 127 [OK]
Hint: byte max is 127, so use values within -128 to 127 [OK]
Common Mistakes:
  • Assigning values outside byte range
  • Using char or long literals directly
  • Not knowing byte limits
3. What is the output of the following Java code?
int x = 5;
float y = 2.0f;
System.out.println(x + y);
medium
A. 7.0
B. 7.0f
C. 7
D. 7.0d

Solution

  1. Step 1: Understand type promotion in expression

    int x is promoted to float when added to float y.
  2. Step 2: Calculate the sum and output type

    5 + 2.0f = 7.0 (float), but println prints float as decimal number without suffix.
  3. Final Answer:

    7.0 -> Option A
  4. Quick Check:

    int + float = float output 7.0 [OK]
Hint: int + float results in float decimal output [OK]
Common Mistakes:
  • Expecting integer output
  • Confusing float suffix in output
  • Ignoring type promotion rules
4. Identify the error in the following Java code snippet:
char c = 'AB';
medium
A. char cannot be assigned a value directly
B. Missing semicolon at end
C. char can only hold a single character
D. char must be initialized with a number

Solution

  1. 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.
  2. Step 2: Analyze the given code

    'AB' is two characters, which is invalid for char type.
  3. Final Answer:

    char can only hold a single character -> Option C
  4. Quick Check:

    char = single character only [OK]
Hint: char holds exactly one character in single quotes [OK]
Common Mistakes:
  • Assigning multiple characters to char
  • Confusing char with String
  • Forgetting single quotes for char
5. You want to store a large whole number that is bigger than int can hold. Which primitive type should you use in Java?
hard
A. short
B. long
C. float
D. double

Solution

  1. 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).
  2. 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.
  3. Final Answer:

    long -> Option B
  4. Quick Check:

    Use long for large integers beyond int [OK]
Hint: Use long for big whole numbers beyond int range [OK]
Common Mistakes:
  • Using float/double for whole numbers
  • Choosing short which is smaller
  • Not knowing long size
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard