Java Control Flow

If / Else if / Else

if (time < 10) {
  System.out.println("Good morning.");
} else if (time < 18) {
  System.out.println("Good day.");
} else {
  System.out.println("Good evening.");
}

Shorthand (ternary)

int time = 20;
String result = (time < 18) ? "Good day." : "Good evening.";
System.out.println(result);

Switch and Case

int day = 4;
switch (day) {
  case 1:
    System.out.println("Monday");
    break;
  case 2:
    System.out.println("Tuesday");
    break;
  case 3:
    System.out.println("Wednesday");
    break;
  case 4:
    System.out.println("Thursday");
    break;
  case 5:
    System.out.println("Friday");
    break;
  case 6:
    System.out.println("Saturday");
    break;
  case 7:
    System.out.println("Sunday");
    break;
}

default runs if no case matches:

int day = 4;
switch (day) {
  case 6:
    System.out.println("Today is Saturday");
    break;
  case 7:
    System.out.println("Today is Sunday");
    break;
  default:
    System.out.println("Looking forward to the Weekend");
}

While loop

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

Do / While loop

do/while always runs the body once before checking the condition. Useful when you want something to happen at least once (e.g., showing a message or prompting input).

int i = 0;
do {
  System.out.println(i);
  i++;
}
while (i < 5);
int i = 10;
do {
  System.out.println("i is " + i);
  i++;
} while (i < 5);

For loop

It’s very compact:

for (statement 1; statement 2; statement 3) {
  // code block to be executed
}

Statement 1 — executed once before the block.
Statement 2 — condition for executing the block each iteration.
Statement 3 — executed after each iteration of the block.
for (int i = 0; i < 5; i++) {
  System.out.println(i);
}
 
// 0
// 1
// 2
// 3
// 4

Nested loops

// Outer loop
for (int i = 1; i <= 2; i++) {
  System.out.println("Outer: " + i); // Executes 2 times
 
  // Inner loop
  for (int j = 1; j <= 3; j++) {
    System.out.println(" Inner: " + j); // Executes 6 times (2 * 3)
  }
}

For-each loop

Similar to Python’s for x in list. Used exclusively to loop through elements in an array or other iterable:

String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (String i : cars) {
  System.out.println(i);
}
# Python analogue
for item in list:
    print(item)

Break

Jump out of a loop.

for (int i = 0; i < 10; i++) {
  if (i == 4) {
    break;
  }
  System.out.println(i);
}

Continue

Skip to the next iteration.

for (int i = 0; i < 10; i++) {
  if (i == 4) {
    continue;
  }
  System.out.println(i);
}

Arrays — creating

// Declare an Array
String[] cars;
 
// Insert Values
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
 
// Both together
int[] myNum = {10, 20, 30, 40};

Array operations

// Via index
System.out.println(cars[0]);
 
// Change item
cars[0] = "Opel";
 
// Length
System.out.println(cars.length);

Loops over arrays

// For loop
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (int i = 0; i < cars.length; i++) {
  System.out.println(cars[i]);
}
 
// For-each loop
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (String i : cars) {
  System.out.println(i);
}

Matrices

int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
 
// Getting items
System.out.println(myNumbers[1][2]); // Outputs 7
 
// Changing elements
myNumbers[1][2] = 9;
 
// Looping
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
for (int i = 0; i < myNumbers.length; ++i) {
  for (int j = 0; j < myNumbers[i].length; ++j) {
    System.out.println(myNumbers[i][j]);
  }
}

See next

  • Java-OOP — methods, classes, objects