Bird
Raised Fist0
Javaprogramming~10 mins

Reference data types in Java - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to declare a String variable named greeting.

Java
String greeting = [1];
Drag options to blanks, or click blank then click option'
A"Hello"
BHello
Cchar[]
Dint
Attempts:
3 left
💡 Hint
Common Mistakes
Forgetting the quotes around the text.
Using single quotes instead of double quotes.
2fill in blank
medium

Complete the code to create a new Integer object with value 10.

Java
Integer number = [1];
Drag options to blanks, or click blank then click option'
Anew Integer(10)
BInteger(10)
C10
Dint(10)
Attempts:
3 left
💡 Hint
Common Mistakes
Trying to call the constructor without new.
Assigning a primitive int directly to an Integer without autoboxing.
3fill in blank
hard

Fix the error in the code to compare two String objects correctly.

Java
if (str1.[1](str2)) {
    System.out.println("Strings are equal");
}
Drag options to blanks, or click blank then click option'
A==
Bequals
Cequals()
DcompareTo()
Attempts:
3 left
💡 Hint
Common Mistakes
Using == to compare Strings, which compares references, not content.
Using equals without parentheses, which is a syntax error.
4fill in blank
hard

Fill both blanks to create an array of Strings and assign a value to the first element.

Java
String[] names = new String[[1]];
names[[2]] = "Alice";
Drag options to blanks, or click blank then click option'
A3
B0
C1
Dnew String[3]
Attempts:
3 left
💡 Hint
Common Mistakes
Using 1 as the first index instead of 0.
Confusing the array size with the index.
5fill in blank
hard

Fill all three blanks to create a HashMap, add a key-value pair, and retrieve a value.

Java
Map<String, Integer> map = new [1]<>();
map.[2]("age", 25);
int age = map.[3]("age");
Drag options to blanks, or click blank then click option'
AHashMap
Bput
Cget
DTreeMap
Attempts:
3 left
💡 Hint
Common Mistakes
Using TreeMap instead of HashMap (both work but only one is correct here).
Using get to add entries or put to retrieve values.

Practice

(1/5)
1.

Which of the following is a reference data type in Java?

int, double, String, boolean
easy
A. String
B. int
C. double
D. boolean

Solution

  1. Step 1: Identify primitive vs reference types

    int, double, and boolean are primitive types storing actual values.
  2. Step 2: Recognize String as a reference type

    String stores a reference to an object containing text data.
  3. Final Answer:

    String -> Option A
  4. Quick Check:

    Reference type = String [OK]
Hint: Remember: String is an object, others are primitives [OK]
Common Mistakes:
  • Confusing String as primitive
  • Thinking int is a reference type
  • Assuming all data types are reference types
2.

Which of the following is the correct way to create a new String object in Java?

?
easy
A. String s = new string("hello");
B. String s = new String("hello");
C. String s = String("hello");
D. String s = new String["hello"];

Solution

  1. Step 1: Check correct constructor syntax

    Use 'new' keyword with class name and parentheses: new String("hello")
  2. Step 2: Verify case sensitivity and brackets

    Class names are case-sensitive (String, not string), and arrays use [] differently.
  3. Final Answer:

    String s = new String("hello"); -> Option B
  4. Quick Check:

    Correct object creation syntax = String s = new String("hello"); [OK]
Hint: Use 'new ClassName()' with exact case for objects [OK]
Common Mistakes:
  • Using lowercase 'string' instead of 'String'
  • Missing 'new' keyword
  • Using array brackets [] incorrectly
3.

What will be the output of the following code?

String a = "hello";
String b = a;
b = b + " world";
System.out.println(a);
medium
A. world
B. hello world
C. hello
D. Compilation error

Solution

  1. Step 1: Understand reference assignment

    Variable b initially points to the same String object as a ("hello").
  2. Step 2: String concatenation creates new object

    b = b + " world" creates a new String object; a still points to original "hello".
  3. Final Answer:

    hello -> Option C
  4. Quick Check:

    Strings are immutable; original stays same [OK]
Hint: String concatenation creates new object, original unchanged [OK]
Common Mistakes:
  • Assuming b changes a's value
  • Thinking references share mutable data
  • Expecting combined string in a
4.

Find the error in the following code snippet:

String[] arr = new String[3];
arr[0] = "Java";
arr[1] = "Python";
arr[3] = "C++";
medium
A. No error, code runs fine
B. Syntax error in array declaration
C. Missing initialization of array elements
D. Array index out of bounds error

Solution

  1. Step 1: Check array size and indices

    Array size is 3, valid indices are 0, 1, 2.
  2. Step 2: Identify invalid index usage

    arr[3] accesses index 3 which is outside valid range, causing runtime error.
  3. Final Answer:

    Array index out of bounds error -> Option D
  4. Quick Check:

    Array indices start at 0, max index = size-1 [OK]
Hint: Array indices go from 0 to length-1 only [OK]
Common Mistakes:
  • Using index equal to array length
  • Confusing syntax error with runtime error
  • Assuming arrays auto-expand
5.

Given the class below, what will be the output?

class Box {
  int length;
  Box(int length) { this.length = length; }
}

public class Test {
  public static void main(String[] args) {
    Box b1 = new Box(5);
    Box b2 = b1;
    b2.length = 10;
    System.out.println(b1.length);
  }
}
hard
A. 10
B. 5
C. Compilation error
D. Runtime error

Solution

  1. Step 1: Understand reference assignment for objects

    b2 is assigned the reference of b1, so both point to the same Box object.
  2. Step 2: Modify object property via one reference

    Changing b2.length to 10 changes the single Box object's length property.
  3. Step 3: Print property via original reference

    Printing b1.length shows 10 because b1 and b2 refer to the same object.
  4. Final Answer:

    10 -> Option A
  5. Quick Check:

    Object references share same data; change reflects everywhere [OK]
Hint: Object references point to same data; changes affect all refs [OK]
Common Mistakes:
  • Thinking b1 and b2 are separate objects
  • Expecting original value after change
  • Confusing primitives with objects
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