Kotlinlearncs.online LogoJava

    ← Prev

    Index

    Next →

    Kotlin
    Java
    • Algorithms I : 7

    • Loops : 6

    • Arrays : 5

    • Compound Conditionals : 4

    • Conditional Expressions and Statements : 3

    • Operations on Variables : 2

    • Variables and Types : 1

    • Hello, world! : 0

    Loops

    for (int i = 0; i < 8; i++) {
    System.out.println("Hi!");
    }

    This lesson presents the final core computer capability: the ability to repeat something multiple times. By combining this with our ability to store and manipulate data and make decisions, we can truly solve any problem. So let’s get started!

    while
    while

    Let’s meet our first loop. It’s the simplest one in Java, and repeats a block of code while a condition is true:

    int i = 0;
    while (i < 8) {
    i++;
    }

    The while loop declaration looks quite similar to the if statements we’ve already seen. First the keyword while, followed by a conditional expression inclosed in parantheses, followed by a block. However, unlike the if statement which only executes once, the while statement continues to execute the block as long as the condition evaluates to true. This can cause problems!

    int i = 0;
    while (i < 8) {
    i++;
    }

    for
    for

    While while is the simplest loop, probably the most common loop you’ll encounter is called a for loop. It’s more complicated than a while loop, but designed to capture a common loop programming pattern. We frequently want to use a loop to increment a variable starting at zero and ending when it reaches some value. (We’ll see why tomorrow.)

    int i = 0;
    while (i < 8) {
    System.out.println(i);
    }

    This is so common that Java provides a second loop that captures this pattern. Let’s go through it together:

    for (int i = 0; i < 8; i++) {
    System.out.println(i);
    }

    Variants
    Variants

    The for loop syntax is quite flexible and can produce lots of different sequences of values in the index variable:

    // Starting at 8, ending at 88, up by 10
    for (int i = 8; i < 88; i += 10) {
    System.out.println(i);
    }
    // Starting at 16, ending at 0, down by 4
    for (int i = 16; i >= 0; i -= 4) {
    System.out.println(i);
    }

    We can also omit one, two, or all three of the parts of a for loop declaration:

    for (int i = 0; i < 8;) {
    System.out.println(i);
    i++;
    }
    int i = 0;
    for (;i < 8;) {
    System.out.println(i);
    i++;
    }
    // There's no stopping us now...
    for (;;) {
    System.out.println("Sweet!");
    }

    However, by far the most common for loop you’ll see is the start at 0, increment by 1, and end when the value is strictly less than some limit:

    int limit = 16;
    for (int i = 0; i < limit; i++) {
    System.out.println(i);
    }

    Loop Variable Scope
    Loop Variable Scope

    There is one important difference between this while loop:

    int i = 0;
    while (i < 8) {
    i++;
    }

    and this for loop:

    for (int i = 0; i < 8; i++) {
    }

    Let’s try and figure out what it is!

    int i = 0;
    while (i < 8) {
    i++;
    }

    Practice: Victory Loop

    Created By: Geoffrey Challen
    / Version: 2020.8.0

    Let's write a simple loop. Assuming an int variable named repeat has been declared and initialized to a value larger than or equal to zero, write a loop that prints "Victory!" repeat times on separate lines. You may use any kind of loop you want! But do not modify the value of repeat.

    for v. while
    for v. while

    Let’s explore the connection between the two types of loop using a diagram.

    Homework: Number Loop

    Created By: Geoffrey Challen
    / Version: 2021.8.0

    Let's write a simple loop. Assuming an int variable named count has been declared and initialized to a value larger than zero, write a loop that prints the numbers between 0 and count - 1, inclusive, one number each line. So if count is 4, you should print:

    0
    1
    2
    3
    

    You can use any kind of loop you want! But do not modify count.

    More Practice

    Need more practice? Head over to the practice page.