Home Unit 4 Iteration
Post
Cancel

Unit 4 Iteration

4.2 - for Loops

for Loops

  • Iterative statement that checks for condition
  • Repeatedly execute a a block of code as long as the condition is met
  • Condition specifies amount of times

for Loops vs. while Loops

  • while Loops: use when number of iterations is unknown
  • for Loops: use when number of iterations is known
1
2
3
4
5
int count = 1;
while (count <= 5) {
    System.out.println(count);
    count++;
}
1
2
3
4
5
1
2
3
4
5
1
2
3
for (int count = 1; count <= 5; count++) {
    System.out.println(count);
}
1
2
3
4
5
1
2
3
4
5

Syntax

  • Three parts in for loop header: variable initialization, Boolean (conditional) expression, and increment/decrement statement
1
2
3
for (int i = 0; i < numTimesToRepeat; i++) { 
    // whatever to repeat here
}

Question: Which part is which? (In reference to above)

  • variable initialization:
  • Boolean (conditional) expression:
  • variable can be used in the code block for other various reasons besides specifying how many times the loop will repeat
  • Boolean (conditional) expression and increment/decrement statement together determine how many times the loop will repeat

Other syntax for increment/decrement statement:

OperatorExampleSame As
++i ++i = i + 1
i –i = i - 1
+=i += yi = i + y
-=i -= yi = i - y
*=i *= yi = i * y
/=i /= yi = i / y
%=i %= yi = i % y
1
2
3
4
// play around with this 
for (int i = 0; i < 4; i++) { 
    System.out.println(i);
}

Popcorn Hacks

  • Calculate and print the sum of all even numbers from 1 to a given positive integer ‘n’ (user input n)
1
2
// CODE CODE CODE HERE
// No need to finish code now, just share ideas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// SOLUTION
import java.util.Scanner;

public class evenNumSum {
    public static void main(String[] args) {
        // Scanner object for user input
        Scanner scanner = new Scanner(System.in);

        // user enter positive integer
        System.out.print("Enter a positive integer (n): ");
        int n = scanner.nextInt();
        System.out.println(n);

        // initialize sum to store
        int sum = 0;

        // for loop 1 to n
        for (int i = 1; i <= n; i++) { // note the <= since start at 1
            // check if n is even
            if (i % 2 == 0) {
                // if even, add to sum
                sum += i;
            }
        }

        // print sum
        System.out.println("\nSum of even numbers from 1 to " + n + " is: " + sum);
    }
}
evenNumSum.main(null)
1
2
3
Enter a positive integer (n): 10

Sum of even numbers from 1 to 10 is: 30

Java for-each Loop

  • for-each loop used to iterate through elements of arrays and collections (e.g. ArrayList)
  • AKA enhanced for loop

    Syntax

1
2
3
for (dataType item : array) {
    // whatever here
}
  • array: array/collection
  • item: variable each item of array/collection assigned is assigned to
  • dataType - array/collection data type
1
2
3
4
int[] numbers = {1, 7, -9, 4, 89};
for (int num: numbers) {
    System.out.println(num);
}
1
2
3
4
5
1
7
-9
4
89
This post is licensed under CC BY 4.0 by the author.