Bird
Raised Fist0
Javaprogramming~20 mins

Primitive data types in Java - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Primitive Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of integer division and casting
What is the output of this Java code snippet?
Java
public class Main {
    public static void main(String[] args) {
        int a = 7;
        int b = 2;
        double c = a / b;
        System.out.println(c);
    }
}
A3.5
B3.6
C3
D3.0
Attempts:
2 left
💡 Hint
Remember that dividing two integers results in an integer before assignment.
❓ Predict Output
intermediate
2:00remaining
Output of char arithmetic
What is the output of this Java code?
Java
public class Main {
    public static void main(String[] args) {
        char ch = 'A';
        int result = ch + 2;
        System.out.println(result);
    }
}
A65
BC
C67
D2
Attempts:
2 left
💡 Hint
Remember that char is treated as a number in arithmetic.
❓ Predict Output
advanced
2:00remaining
Output of boolean logic with primitives
What is the output of this Java program?
Java
public class Main {
    public static void main(String[] args) {
        boolean a = true;
        boolean b = false;
        boolean c = a && !b || b;
        System.out.println(c);
    }
}
Atrue
Bfalse
Cnull
DCompilation error
Attempts:
2 left
💡 Hint
Evaluate the boolean expression step by step.
❓ Predict Output
advanced
2:00remaining
Output of float precision and casting
What is the output of this Java code?
Java
public class Main {
    public static void main(String[] args) {
        float f = 1.23456789f;
        double d = f;
        System.out.println(d);
    }
}
A1.234567
B1.2345679
C1.23456789
D1.234568
Attempts:
2 left
💡 Hint
Float has less precision than double.
🧠 Conceptual
expert
2:00remaining
Memory size of primitive types
Which primitive data type in Java uses the most memory?
Adouble
Bint
Clong
Dfloat
Attempts:
2 left
💡 Hint
Think about the number of bytes each type uses.

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