For in Mercury

Java provides several types of loop constructs. Here are some basic types of loops.

public class ForLoops {
    public static void main(String[] args) {
        // The most basic type, with a single condition.
        int i = 1;
        while (i <= 3) {
            System.out.println(i);
            i = i + 1;
        }

        // A classic initial/condition/after for loop.
        for (int j = 0; j < 3; j++) {
            System.out.println(j);
        }

        // Java doesn't have a direct equivalent to Go's "range" over integers,
        // but we can use a regular for loop to achieve the same result.
        for (int k = 0; k < 3; k++) {
            System.out.println("range " + k);
        }

        // An infinite loop that will run until you break out of it or return
        // from the enclosing method.
        while (true) {
            System.out.println("loop");
            break;
        }

        // You can also continue to the next iteration of the loop.
        for (int n = 0; n < 6; n++) {
            if (n % 2 == 0) {
                continue;
            }
            System.out.println(n);
        }
    }
}

To run the program, compile it and then use java:

$ javac ForLoops.java
$ java ForLoops
1
2
3
0
1
2
range 0
range 1
range 2
loop
1
3
5

Java provides several loop constructs:

  1. while loop: Executes a block of code as long as a condition is true.
  2. for loop: A compact way to iterate over a range of values.
  3. do-while loop: Similar to while, but guarantees at least one execution of the loop body.
  4. Enhanced for loop (for-each): Used to iterate over arrays or collections.

We’ll see some other loop forms later when we look at iterating over collections, working with streams, and other data structures.