For loops

Intermediate Java

Jim White

Java Developer

Loops

  • Let us repeat an action multiple times
  • Most common in Java: for loop
    • Used when we know in advance how many repetitions we want

Image of three arrows forming a circle

Intermediate Java

for loop syntax

for (int i = 0; i < 5; i++) {

  // Do something

}
  • i: iterator
  • int i = 0: start with th i equal to 0
  • i < 5: continue while i is smaller than 5
  • i++: increase i by 1 after each loop
  • iterable: thing we loop over
    • e.g., String or array
Intermediate Java

for loop example

for (int i = 0; i < 5; i++) {
  System.out.println("Hello".charAt(i));
}  
H

e
l l o
  • i is iterator
  • "Hello" is iterable
Intermediate Java

for loop through an array

// Iteratre through array and print each element
int[] num = {1, 2, 3, 4, 5};

for (int i = 0; i < num.length; i++) {
    System.out.println(num[i]);
}
1
2
3
4
5
Intermediate Java

Adding to array in a loop

// Iterate through array 
// and add i to each element
int[] num = {1, 2, 3, 4, 5};

for (int i = 0; i < num.length; i++) {
    System.out.println("Old: " + num[i]);
    num[i] += i;
    System.out.println("New: " + num[i]);
}
Old: 1
New: 1
Old: 2
New: 3
Old: 3
New: 5
Old: 4
New: 7
Old: 5
New: 9
Intermediate Java

Infinite loops

  • Causes:
    • Not updating iterator
    • Wrong stopping condition
    • ...
  • Avoid infinite loops!
    • Cause program to freeze or crash

Examples

// i is always bigger than 3
for (int i = 3; i > 2; i = i + 1) { 
  System.out.println("Forever...");
}
// Not updating i
for (int i = 0; i < 10; i = i - 0) {
  System.out.println("And ever...");
Intermediate Java

Break

  • Used to exit loop early
  • Not a good coding practice, use wisely
    • while loops is usually better
for (int i = 0; i < 5; i++) {
  System.out.println(i);
  if (i == 1) {
    break; // Breaks the loop when i is 2
  }
}
0
1
Intermediate Java

Recap

// Example of a for loop
// Including the break keyword
String word = "Hey";

for (int i = 0; i < word.length(); i++){
  System.out.println(word.charAt(i));
  if (i == 2) {
    System.out.println("!");
    break;
  }
  System.out.println("-");
}
  • i: iterator
  • word: iterable
  • for loop runs for predetermined amount of loops
    • Runs from 0 till the end of word
    • Unless we use the break keyword
H
-
e
-
y
!
Intermediate Java

Let's practice!

Intermediate Java

Preparing Video For Download...