24sp ver.

Note: this is for the Spring 2024 iteration of CSE 121. Looking for a different quarter? Please visit https://courses.cs.washington.edu/courses/cse121/.

Nested For Loops

(loops inside loops, can be used to produce complex text patterns)

Example

for (int i = 1; i <= 5; i++>) {
    for (int j = 1; j <= (5 - i); j++) {
        System.out.print(".");  // print dots
    }
    System.out.println(i);  // print line number
}

Output

....1
...2
..3
.4
5

Update Statements

(common update statements in for loops)

Statement Description
i++ increment i by 1; same as i = i + 1
i += 1 increment i by 1; same as i = i + 1
i-- decrement i by 1; same as i = i - 1
i -= 1 decrement i by 1; same as i = i - 1

Random

(produce random numbers)

import java.util.*;  // We must include this in order to use Random!

// Create a Random object
Random rand = new Random();

// Generating values
int a = rand.nextInt(10); // generating an integer in the range of 0 to 9
int b = rand.nextInt(10) + 1; // generating an integer in the range of 1 to 10
int c = rand.nextInt(7) + 4; // generating an integer in the range of 4 to 10

Methods

Method Description
nextInt() random integer
nextInt(max) random integer between 0 (inclusive) and max (exclusive)
nextDouble() random double between 0.0 (inclusive) and 1.0 (exclusive)

Formula for Generating a Random Number between min - max (inclusive)

Steps Example
1. What is the desired min? 4
2. What is the desired max? 10
3. Calculate the range = max - min + 1 10 - 4 + 1 = 7
4. Substitute into: rand.nextInt(range) + min rand.nextInt(7) + 4

Fenceposting

(pulling one iteration out of the loop)

Example

System.out.print(1);               // one number to start with
for (int i = 2; i <= 5; i++) {
    System.out.print(", " + i);    // commas between numbers
}
System.out.println();              // end the line

Output

1, 2, 3, 4, 5