Control Flow
Switch Statement
Multiple Choices
Your app has a menu: 1=New, 2=Open, 3=Save, 4=Quit. With if-else you'd write four conditions. With switch, you list each option clearly - the code mirrors the menu structure perfectly.
Day number to name
Convert a number (1-7) to the day name.
public class DayName {
public static void main(String[] args) {
int day = ;
String name;
switch (day) {
case 1:
name = "Monday";
break;
case 2:
name = "Tuesday";
break;
case 3:
name = "Wednesday";
break;
case 4:
name = "Thursday";
break;
case 5:
name = "Friday";
break;
case 6:
name = "Saturday";
break;
case 7:
name = "Sunday";
break;
default:
name = "Invalid day";
}
System.out.println("Day " + day + " is " + name);
}
}
public class DayName {
public static void main(String[] args) {
int day = ;
String name;
switch (day) {
case 1:
name = "Monday";
break;
case 2:
name = "Tuesday";
break;
case 3:
name = "Wednesday";
break;
case 4:
name = "Thursday";
break;
case 5:
name = "Friday";
break;
case 6:
name = "Saturday";
break;
case 7:
name = "Sunday";
break;
default:
name = "Invalid day";
}
System.out.println("Day " + day + " is " + name);
}
}
public class DayName {
public static void main(String[] args) {
int day = ;
String name;
switch (day) {
case 1:
name = "Monday";
break;
case 2:
name = "Tuesday";
break;
case 3:
name = "Wednesday";
break;
case 4:
name = "Thursday";
break;
case 5:
name = "Friday";
break;
case 6:
name = "Saturday";
break;
case 7:
name = "Sunday";
break;
default:
name = "Invalid day";
}
System.out.println("Day " + day + " is " + name);
}
}
public class DayName {
public static void main(String[] args) {
int day = ;
String name;
switch (day) {
case 1:
name = "Monday";
break;
case 2:
name = "Tuesday";
break;
case 3:
name = "Wednesday";
break;
case 4:
name = "Thursday";
break;
case 5:
name = "Friday";
break;
case 6:
name = "Saturday";
break;
case 7:
name = "Sunday";
break;
default:
name = "Invalid day";
}
System.out.println("Day " + day + " is " + name);
}
}
Each case handles one value. Don't forget break or execution falls through!
Menu option handler
Handle user menu selections with switch.
public class Menu {
public static void main(String[] args) {
int choice = ;
System.out.println("=== Main Menu ===");
System.out.println("1. New Game");
System.out.println("2. Load Game");
System.out.println("3. Settings");
System.out.println("4. Exit");
System.out.println("Choice: " + choice);
System.out.println();
switch (choice) {
case 1:
System.out.println("Starting new game...");
break;
case 2:
System.out.println("Loading saved game...");
break;
case 3:
System.out.println("Opening settings...");
break;
case 4:
System.out.println("Goodbye!");
break;
default:
System.out.println("Invalid option. Please try again.");
}
}
}
public class Menu {
public static void main(String[] args) {
int choice = ;
System.out.println("=== Main Menu ===");
System.out.println("1. New Game");
System.out.println("2. Load Game");
System.out.println("3. Settings");
System.out.println("4. Exit");
System.out.println("Choice: " + choice);
System.out.println();
switch (choice) {
case 1:
System.out.println("Starting new game...");
break;
case 2:
System.out.println("Loading saved game...");
break;
case 3:
System.out.println("Opening settings...");
break;
case 4:
System.out.println("Goodbye!");
break;
default:
System.out.println("Invalid option. Please try again.");
}
}
}
public class Menu {
public static void main(String[] args) {
int choice = ;
System.out.println("=== Main Menu ===");
System.out.println("1. New Game");
System.out.println("2. Load Game");
System.out.println("3. Settings");
System.out.println("4. Exit");
System.out.println("Choice: " + choice);
System.out.println();
switch (choice) {
case 1:
System.out.println("Starting new game...");
break;
case 2:
System.out.println("Loading saved game...");
break;
case 3:
System.out.println("Opening settings...");
break;
case 4:
System.out.println("Goodbye!");
break;
default:
System.out.println("Invalid option. Please try again.");
}
}
}
public class Menu {
public static void main(String[] args) {
int choice = ;
System.out.println("=== Main Menu ===");
System.out.println("1. New Game");
System.out.println("2. Load Game");
System.out.println("3. Settings");
System.out.println("4. Exit");
System.out.println("Choice: " + choice);
System.out.println();
switch (choice) {
case 1:
System.out.println("Starting new game...");
break;
case 2:
System.out.println("Loading saved game...");
break;
case 3:
System.out.println("Opening settings...");
break;
case 4:
System.out.println("Goodbye!");
break;
default:
System.out.println("Invalid option. Please try again.");
}
}
}
public class Menu {
public static void main(String[] args) {
int choice = ;
System.out.println("=== Main Menu ===");
System.out.println("1. New Game");
System.out.println("2. Load Game");
System.out.println("3. Settings");
System.out.println("4. Exit");
System.out.println("Choice: " + choice);
System.out.println();
switch (choice) {
case 1:
System.out.println("Starting new game...");
break;
case 2:
System.out.println("Loading saved game...");
break;
case 3:
System.out.println("Opening settings...");
break;
case 4:
System.out.println("Goodbye!");
break;
default:
System.out.println("Invalid option. Please try again.");
}
}
}
Switch is perfect for menu systems - each option maps to an action.
Grade to description
Convert letter grades to descriptions.
public class Grade {
public static void main(String[] args) {
char grade = ;
String description;
switch (grade) {
case 'A':
description = "Excellent work!";
break;
case 'B':
description = "Good job!";
break;
case 'C':
description = "Satisfactory";
break;
case 'D':
description = "Needs improvement";
break;
case 'F':
description = "Please see instructor";
break;
default:
description = "Invalid grade";
}
System.out.println("Grade: " + grade);
System.out.println("Feedback: " + description);
}
}
public class Grade {
public static void main(String[] args) {
char grade = ;
String description;
switch (grade) {
case 'A':
description = "Excellent work!";
break;
case 'B':
description = "Good job!";
break;
case 'C':
description = "Satisfactory";
break;
case 'D':
description = "Needs improvement";
break;
case 'F':
description = "Please see instructor";
break;
default:
description = "Invalid grade";
}
System.out.println("Grade: " + grade);
System.out.println("Feedback: " + description);
}
}
public class Grade {
public static void main(String[] args) {
char grade = ;
String description;
switch (grade) {
case 'A':
description = "Excellent work!";
break;
case 'B':
description = "Good job!";
break;
case 'C':
description = "Satisfactory";
break;
case 'D':
description = "Needs improvement";
break;
case 'F':
description = "Please see instructor";
break;
default:
description = "Invalid grade";
}
System.out.println("Grade: " + grade);
System.out.println("Feedback: " + description);
}
}
public class Grade {
public static void main(String[] args) {
char grade = ;
String description;
switch (grade) {
case 'A':
description = "Excellent work!";
break;
case 'B':
description = "Good job!";
break;
case 'C':
description = "Satisfactory";
break;
case 'D':
description = "Needs improvement";
break;
case 'F':
description = "Please see instructor";
break;
default:
description = "Invalid grade";
}
System.out.println("Grade: " + grade);
System.out.println("Feedback: " + description);
}
}
public class Grade {
public static void main(String[] args) {
char grade = ;
String description;
switch (grade) {
case 'A':
description = "Excellent work!";
break;
case 'B':
description = "Good job!";
break;
case 'C':
description = "Satisfactory";
break;
case 'D':
description = "Needs improvement";
break;
case 'F':
description = "Please see instructor";
break;
default:
description = "Invalid grade";
}
System.out.println("Grade: " + grade);
System.out.println("Feedback: " + description);
}
}
default handles any value not matched by a case.
Calculator operator
Implement a basic calculator using switch.
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
public class Calculator {
public static void main(String[] args) {
double a = ;
double b = ;
char op = ;
double result;
boolean valid = true;
switch (op) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
if (b != 0) {
result = a / b;
} else {
System.out.println("Error: Division by zero");
result = 0;
valid = false;
}
break;
case '%':
result = a % b;
break;
default:
System.out.println("Unknown operator: " + op);
result = 0;
valid = false;
}
if (valid) {
System.out.println(a + " " + op + " " + b + " = " + result);
}
}
}
Switch on char works just like switching on int.
Multiple cases, same action
Group cases that should do the same thing.
public class Grouped {
public static void main(String[] args) {
int month = ;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Invalid month";
}
System.out.println("Month " + month + " is in " + season);
// Another example: weekday vs weekend
int day = ;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Day " + day + ": Weekday");
break;
case 6:
case 7:
System.out.println("Day " + day + ": Weekend!");
break;
}
}
}
public class Grouped {
public static void main(String[] args) {
int month = ;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Invalid month";
}
System.out.println("Month " + month + " is in " + season);
// Another example: weekday vs weekend
int day = ;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Day " + day + ": Weekday");
break;
case 6:
case 7:
System.out.println("Day " + day + ": Weekend!");
break;
}
}
}
public class Grouped {
public static void main(String[] args) {
int month = ;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Invalid month";
}
System.out.println("Month " + month + " is in " + season);
// Another example: weekday vs weekend
int day = ;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Day " + day + ": Weekday");
break;
case 6:
case 7:
System.out.println("Day " + day + ": Weekend!");
break;
}
}
}
public class Grouped {
public static void main(String[] args) {
int month = ;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Invalid month";
}
System.out.println("Month " + month + " is in " + season);
// Another example: weekday vs weekend
int day = ;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Day " + day + ": Weekday");
break;
case 6:
case 7:
System.out.println("Day " + day + ": Weekend!");
break;
}
}
}
public class Grouped {
public static void main(String[] args) {
int month = ;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Invalid month";
}
System.out.println("Month " + month + " is in " + season);
// Another example: weekday vs weekend
int day = ;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Day " + day + ": Weekday");
break;
case 6:
case 7:
System.out.println("Day " + day + ": Weekend!");
break;
}
}
}
public class Grouped {
public static void main(String[] args) {
int month = ;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Invalid month";
}
System.out.println("Month " + month + " is in " + season);
// Another example: weekday vs weekend
int day = ;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Day " + day + ": Weekday");
break;
case 6:
case 7:
System.out.println("Day " + day + ": Weekend!");
break;
}
}
}
public class Grouped {
public static void main(String[] args) {
int month = ;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Invalid month";
}
System.out.println("Month " + month + " is in " + season);
// Another example: weekday vs weekend
int day = ;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Day " + day + ": Weekday");
break;
case 6:
case 7:
System.out.println("Day " + day + ": Weekend!");
break;
}
}
}
public class Grouped {
public static void main(String[] args) {
int month = ;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Invalid month";
}
System.out.println("Month " + month + " is in " + season);
// Another example: weekday vs weekend
int day = ;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Day " + day + ": Weekday");
break;
case 6:
case 7:
System.out.println("Day " + day + ": Weekend!");
break;
}
}
}
public class Grouped {
public static void main(String[] args) {
int month = ;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Invalid month";
}
System.out.println("Month " + month + " is in " + season);
// Another example: weekday vs weekend
int day = ;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Day " + day + ": Weekday");
break;
case 6:
case 7:
System.out.println("Day " + day + ": Weekend!");
break;
}
}
}
public class Grouped {
public static void main(String[] args) {
int month = ;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Invalid month";
}
System.out.println("Month " + month + " is in " + season);
// Another example: weekday vs weekend
int day = ;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Day " + day + ": Weekday");
break;
case 6:
case 7:
System.out.println("Day " + day + ": Weekend!");
break;
}
}
}
public class Grouped {
public static void main(String[] args) {
int month = ;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Invalid month";
}
System.out.println("Month " + month + " is in " + season);
// Another example: weekday vs weekend
int day = ;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Day " + day + ": Weekday");
break;
case 6:
case 7:
System.out.println("Day " + day + ": Weekend!");
break;
}
}
}
public class Grouped {
public static void main(String[] args) {
int month = ;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Invalid month";
}
System.out.println("Month " + month + " is in " + season);
// Another example: weekday vs weekend
int day = ;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Day " + day + ": Weekday");
break;
case 6:
case 7:
System.out.println("Day " + day + ": Weekend!");
break;
}
}
}
public class Grouped {
public static void main(String[] args) {
int month = ;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Invalid month";
}
System.out.println("Month " + month + " is in " + season);
// Another example: weekday vs weekend
int day = ;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Day " + day + ": Weekday");
break;
case 6:
case 7:
System.out.println("Day " + day + ": Weekend!");
break;
}
}
}
public class Grouped {
public static void main(String[] args) {
int month = ;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Invalid month";
}
System.out.println("Month " + month + " is in " + season);
// Another example: weekday vs weekend
int day = ;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Day " + day + ": Weekday");
break;
case 6:
case 7:
System.out.println("Day " + day + ": Weekend!");
break;
}
}
}
public class Grouped {
public static void main(String[] args) {
int month = ;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Invalid month";
}
System.out.println("Month " + month + " is in " + season);
// Another example: weekday vs weekend
int day = ;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Day " + day + ": Weekday");
break;
case 6:
case 7:
System.out.println("Day " + day + ": Weekend!");
break;
}
}
}
public class Grouped {
public static void main(String[] args) {
int month = ;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Invalid month";
}
System.out.println("Month " + month + " is in " + season);
// Another example: weekday vs weekend
int day = ;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Day " + day + ": Weekday");
break;
case 6:
case 7:
System.out.println("Day " + day + ": Weekend!");
break;
}
}
}
Fall-through (no break) lets multiple cases share code.
Exercise: EnhancedSwitch.java
Explore enhanced switch (Java 14+): arrow syntax, no fall-through, returns values