
💻 자바 예제: 조건문과 switch 문 활용
요청하신 두 가지 프로그램 예제를 자바 코드와 함께 쉽게 설명해 드릴게요. 사용자로부터 입력을 받기 위해 앞서 배운 Scanner를 함께 사용했습니다!
1. 🔹 점수 입력 후 학점 계산 프로그램 (if-else if 활용)
이 프로그램은 사용자가 점수를 입력하면, 그 점수에 따라 'A', 'B', 'C', 'F' 학점을 판별하여 출력합니다. 여러 조건을 순서대로 검사해야 할 때 유용한 if-else if 문을 사용했어요.
📌 프로그램 목표
- 90점 이상: A학점
- 80점 이상 90점 미만: B학점
- 70점 이상 80점 미만: C학점
- 70점 미만: F학점
📝 자바 코드
Java
import java.util.Scanner;
public class GradeCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 1. 사용자로부터 점수(정수)를 입력받습니다.
System.out.print("점수를 입력하세요 (0~100): ");
int score = scanner.nextInt();
char grade; // 학점을 저장할 변수
// 2. 입력받은 점수에 따라 조건을 검사하여 학점을 결정합니다.
if (score >= 90) {
grade = 'A';
} else if (score >= 80) { // 90점 미만 중에서 80점 이상인 경우
grade = 'B';
} else if (score >= 70) { // 80점 미만 중에서 70점 이상인 경우
grade = 'C';
} else { // 위의 모든 조건에 해당하지 않는 경우 (70점 미만)
grade = 'F';
}
// 3. 결과 출력
System.out.println("당신의 점수(" + score + "점)는 " + grade + "학점입니다.");
scanner.close();
}
}
💡 동작 원리 설명
- Scanner로 점수를 입력받습니다.
- 가장 높은 점수 조건부터 순서대로 검사합니다.
- if (score >= 90) : 만약 90점 이상이면 바로 **'A'**로 결정되고, 나머지 조건은 검사하지 않고 끝납니다.
- else if (score >= 80) : 만약 90점은 아니지만 (위에서 걸러짐) 80점 이상이라면 **'B'**로 결정됩니다.
- 이런 식으로 조건을 내려가면서 점수에 해당하는 학점을 딱 하나만 찾아냅니다.
2. 🔹 switch 문으로 요일 출력 프로그램
이 프로그램은 사용자가 1부터 7까지의 숫자를 입력하면, switch 문을 사용하여 해당 숫자에 맞는 요일 이름을 출력합니다.
📌 프로그램 목표
- 숫자 1: 월요일
- 숫자 2: 화요일
- ...
- 숫자 7: 일요일
- 그 외 숫자: "잘못된 입력"
📝 자바 코드
Java
import java.util.Scanner;
public class DayOfWeekPrinter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 1. 사용자로부터 요일에 해당하는 숫자(1~7)를 입력받습니다.
System.out.print("요일 숫자(1=월요일, 7=일요일)를 입력하세요: ");
int dayNum = scanner.nextInt();
String dayName; // 요일 이름을 저장할 변수
// 2. switch 문을 사용하여 숫자에 맞는 요일 이름을 찾습니다.
switch (dayNum) {
case 1:
dayName = "월요일";
break; // 찾았으니 switch 문을 종료
case 2:
dayName = "화요일";
break;
case 3:
dayName = "수요일";
break;
case 4:
dayName = "목요일";
break;
case 5:
dayName = "금요일";
break;
case 6:
dayName = "토요일";
break;
case 7:
dayName = "일요일";
break;
default: // 1~7이 아닌 다른 숫자가 입력된 경우
dayName = "잘못된 입력입니다. (1~7만 가능)";
break;
}
// 3. 결과 출력
System.out.println("입력하신 숫자 " + dayNum + "은(는) " + dayName + "입니다.");
scanner.close();
}
}
💡 동작 원리 설명
- Scanner로 요일 숫자 dayNum을 입력받습니다.
- switch (dayNum)은 dayNum의 값을 확인합니다.
- dayNum의 값과 똑같은 **case**를 찾아 그 안에 있는 코드를 실행합니다.
- 예를 들어, dayNum이 4라면 case 4:로 이동하여 dayName = "목요일";을 실행하고, **break;**를 만나 switch 문을 빠져나옵니다.
- 만약 1~7이 아닌 숫자를 입력하면, **default:**의 코드가 실행됩니다.
'Java_language' 카테고리의 다른 글
| 구구단 출력,1부터 100까지 합 계산 (0) | 2025.11.17 |
|---|---|
| 반복문(for, while)과 제어문(break, continue) 쉽게 배우기 (0) | 2025.11.17 |
| 자바 조건문 3가지 총정리: if, if-else, switch (0) | 2025.11.17 |
| 자바 연산자 (0) | 2025.11.17 |
| 연산자 & 조건문 (0) | 2025.11.17 |