An enhanced for loop is a simpler way to iterate over arrays or collections without using an index variable. It automatically goes through each element one by one.
Click to reveal answer
beginner
Syntax of an enhanced for loop in Java?
for (Type variable : collection) {
// code using variable
}
Click to reveal answer
intermediate
Can you modify the elements of an array using an enhanced for loop?
No, the enhanced for loop provides a copy of each element, so modifying the loop variable does not change the original array elements.
Click to reveal answer
beginner
What types of data structures can you use with an enhanced for loop?
You can use arrays and any class that implements the Iterable interface, like ArrayList, LinkedList, HashSet, etc.
Click to reveal answer
beginner
Example: How to print all elements of an int array using enhanced for loop?
int[] numbers = {1, 2, 3};
for (int num : numbers) {
System.out.println(num);
}
Click to reveal answer
What does the enhanced for loop automatically handle?
ACreating new arrays
BIndexing through elements
CDeclaring variables
DSorting elements
✗ Incorrect
The enhanced for loop automatically handles indexing through elements, so you don't need to manage the index manually.
Which of these can NOT be used directly in an enhanced for loop?
AHashMap
BArrayList
CArray
DLinkedList
✗ Incorrect
HashMap does not implement Iterable directly, so you cannot use it directly in an enhanced for loop without calling keySet(), values(), or entrySet().
What happens if you try to modify the loop variable inside an enhanced for loop?
AOriginal array elements change
BLoop stops immediately
CCompilation error
DLoop variable changes but original elements stay the same
✗ Incorrect
The loop variable is a copy of each element, so modifying it does not affect the original array or collection elements.
Which keyword is used in the enhanced for loop syntax?
Ain
Bof
C:
D->
✗ Incorrect
The colon ':' is used in the enhanced for loop syntax to separate the variable and the collection.
What is the main advantage of using an enhanced for loop?
ASimpler and less error-prone code
BSupports multi-threading
CAllows modifying collection size
DFaster execution
✗ Incorrect
The enhanced for loop makes code simpler and less error-prone by removing the need to manage indexes manually.
Explain how an enhanced for loop works and when you would use it.
Think about how it replaces the traditional for loop with index.
You got /4 concepts.
Write a simple Java code snippet using an enhanced for loop to print all elements of a String array.
Use for (String item : array) and System.out.println inside the loop.
You got /3 concepts.
Practice
(1/5)
1. What is the main purpose of the enhanced for loop in Java?
easy
A. To create infinite loops
B. To iterate over all elements in an array or collection easily
C. To declare variables with enhanced types
D. To replace if-else statements
Solution
Step 1: Understand the enhanced for loop usage
The enhanced for loop is designed to simplify iterating over arrays or collections without manual index management.
Step 2: Compare options with the loop's purpose
Only To iterate over all elements in an array or collection easily correctly describes this purpose; others describe unrelated concepts.
Final Answer:
To iterate over all elements in an array or collection easily -> Option B
Quick Check:
Enhanced for loop = easy iteration [OK]
Hint: Enhanced for loop = easy way to visit each item [OK]
Common Mistakes:
Thinking it declares variables
Confusing with infinite loops
Using it to replace conditional statements
2. Which of the following is the correct syntax for an enhanced for loop iterating over an integer array nums?
easy
A. foreach (int num : nums) { System.out.println(num); }
B. for int num in nums { System.out.println(num); }
C. for (int num : nums) { System.out.println(num); }
D. for (num : nums) { System.out.println(num); }
Solution
Step 1: Recall Java enhanced for loop syntax
The correct syntax uses: for (type variable : arrayOrCollection) { ... }
Step 2: Check each option
for (int num : nums) { System.out.println(num); } matches the correct syntax. Options A, B, and C use incorrect keywords or missing parentheses.
Final Answer:
for (int num : nums) { System.out.println(num); } -> Option C
Quick Check:
Correct syntax uses ':' inside parentheses [OK]
Hint: Remember: for (type var : collection) { } [OK]
Common Mistakes:
Using 'in' instead of ':'
Omitting parentheses
Using 'foreach' keyword in Java
3. What will be the output of the following code?
int[] numbers = {1, 2, 3};
int sum = 0;
for (int n : numbers) {
sum += n;
}
System.out.println(sum);
medium
A. 6
B. 123
C. 0
D. Compilation error
Solution
Step 1: Understand the loop operation
The loop adds each element of the array (1, 2, 3) to the variable sum.
Step 2: Calculate the sum
sum = 0 + 1 + 2 + 3 = 6
Final Answer:
6 -> Option A
Quick Check:
Sum of 1, 2, 3 = 6 [OK]
Hint: Sum all elements inside the loop [OK]
Common Mistakes:
Concatenating numbers instead of adding
Forgetting to initialize sum
Syntax errors in loop
4. Identify the error in the following code snippet:
String[] fruits = {"apple", "banana", "cherry"};
for (String fruit : fruits) {
System.out.println(fruits);
}
medium
A. Inside the loop, it should print 'fruit' instead of 'fruits'
B. The loop variable should be 'fruits' not 'fruit'
C. The array declaration is incorrect
D. Enhanced for loop cannot be used with arrays
Solution
Step 1: Analyze the loop variable and print statement
The loop variable is 'fruit', representing each element. Printing 'fruits' prints the whole array reference each time.
Step 2: Correct the print statement
To print each fruit, use 'System.out.println(fruit);' inside the loop.
Final Answer:
Inside the loop, it should print 'fruit' instead of 'fruits' -> Option A
Quick Check:
Print loop variable, not array name [OK]
Hint: Print the loop variable, not the array name [OK]
Common Mistakes:
Printing the array variable inside the loop
Confusing loop variable with array name
Incorrect array declaration
5. Given a list of integers, which enhanced for loop code correctly counts how many numbers are greater than 10?
List<Integer> nums = List.of(5, 12, 7, 20, 10);
int count = 0;
// Which code correctly counts numbers > 10?
hard
A. for (Integer n : nums) { if (n >= 10) count++; }
B. for (int n : nums) { if (n >= 10) count++; }
C. for (n : nums) { if (n > 10) count++; }
D. for (int n : nums) { if (n > 10) count++; }
Solution
Step 1: Understand the data and requirement
List.of(5,12,7,20,10). Numbers greater than 10: 12,20 (count=2).
Step 2: Recall enhanced for loop with List<Integer>
Supports int n via automatic unboxing of Integer to int.
Step 3: Check each option
A: >=10 counts 12,20,10 (3) incorrect. B: int n >10 correct syntax, condition, count=2. C: Missing type for n: compile error. D: >=10 incorrect condition.
Final Answer:
for (int n : nums) { if (n > 10) count++; } -> Option D
Quick Check:
int n works with List<Integer> via unboxing [OK]
Hint: int n works for List<Integer> via autounboxing [OK]
Common Mistakes:
Using >= instead of >
Missing type declaration for loop variable
Wrong comparison operator
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.