4.2 For Loops
Similar to while loops, for loops run until a condition is false. Format of for loop below:
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
0
1
2
3
4
Explanation
- in the above for loop:
- int i = 0 defines the iterating variable
- i < 5 is the condition (once i < 5 is false, this loop breaks)
- i++ is the incrementation of the iterating variable
- System.out.println(i); is the body code that runs every time the loop iterates
For Each Loops:
- Apart from iterating using an incrementing variable, you can also iterate through items in a list.
Example of For Each loop below
int[] list = {1, 2, 3, 4, 5}; // any list
for (int item : list) { // for each item in the list, execute the body
System.out.println(item); // body code
}
1
2
3
4
5
#python version
array=[1, 2, 3, 4, 5]
for i in array:
print(i)
| #python version
illegal character: '#'
| array=[1, 2, 3, 4, 5]
illegal start of expression
Explanation:
- in the above loop:
- int item : list - this line is saying that for each item in the list, execute code below
- System.out.println(num); - this line is the body code.
Fun For Loop Hack:
Create a program that iterates through a list of numbers (int_list = {0, 4, 51, 83, 92, 10, 123, 145}) using both a for loop and a for each loop, then split the numbers in the list into even/odd lists, and output them.
int[] int_list = {0, 4, 51, 83, 92, 10, 123, 145};
int[] evens = new int[int_list.length]; // Temporary array for evens
int[] odds = new int[int_list.length]; // Temporary array for odds
int evenCount = 0; // Counter for even elements
int oddCount = 0; // Counter for odd elements
// Using a single loop
for (int i = 0; i < int_list.length; i++) {
if (int_list[i] % 2 == 0) { // Check if the item is even
evens[evenCount] = int_list[i]; // Add to evens array
evenCount++; // Increment the even counter
} else {
odds[oddCount] = int_list[i]; // Add to odds array
oddCount++; // Increment the odd counter
}
}
// Print the even numbers
System.out.print("Even numbers: ");
for (int i = 0; i < evenCount; i++) {
System.out.print(evens[i] + " ");
}
System.out.println(); // New line for better formatting
// Print the odd numbers
System.out.print("Odd numbers: ");
for (int i = 0; i < oddCount; i++) {
System.out.print(odds[i] + " ");
}
Even numbers: 0 4 92 10
Odd numbers: 51 83 123 145
2
15
15
Iteration: 0
Current Velocity: 2, 2