학습
Java 제어문 (if, switch)
Java 제어문 (if, switch) — 초급
제어문 (if, switch)
1. 도입 (왜 배워야 하는가)
제어문은 프로그램의 흐름을 제어하는 중요한 요소입니다. 실제 프로그래밍에서는 다양한 상황에 따라 서로 다른 작업을 수행해야 할 때가 많습니다. 예를 들어, 사용자가 입력한 점수에 따라 합격 여부를 결정하거나, 특정 조건에 따라 다른 페이지로 리디렉션하는 등의 작업이 있습니다.
제어문을 제대로 이해하지 못하면 프로그램이 항상 예측한 대로 작동하지 않게 되어, 사용자의 기대와 다르게 결과가 나타날 수 있습니다. 이는 사용자 경험을 저해하고, 나아가 소프트웨어의 신뢰성을 떨어뜨리는 원인이 될 수 있습니다.
2. 핵심 개념 설명
2.1 if 문
if 문은 주어진 조건이 참(true)인지 거짓(false)인지에 따라 코드 블록을 실행합니다.
- 비유: 마치 학교에서 시험을 보고 점수가 60점 이상이면 합격, 그렇지 않으면 불합격으로 판단하는 것과 같습니다.
- 비유: 마치 메뉴에서 선택한 요리에 따라 다른 요리를 제공하는 것과 같습니다.
2.2 switch 문
switch 문은 특정 변수의 값에 따라 여러 분기 처리를 할 수 있습니다.
| 용어 | 설명 |
|---|---|
| 조건문 | 특정 조건에 따라 코드 실행 여부 결정 |
| 분기문 | 여러 조건 중 하나를 선택하여 실행 |
3. 기본 코드 예제
if 문 예제
int score = 75;
if (score >= 60) {
System.out.println("합격입니다.");
} else {
System.out.println("불합격입니다.");
}
- int score = 75;: 점수를 75로 설정합니다.
- if (score >= 60) {: 점수가 60 이상인지 확인합니다.
- System.out.println("합격입니다.");: 조건이 참이면 "합격입니다."를 출력합니다.
- else {: 조건이 거짓인 경우를 처리합니다.
- System.out.println("불합격입니다.");: "불합격입니다."를 출력합니다.
switch 문 예제
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "월요일";
break;
case 2:
dayName = "화요일";
break;
case 3:
dayName = "수요일";
break;
default:
dayName = "주말";
}
System.out.println(dayName);
- int day = 3;: 오늘의 날짜를 3으로 설정합니다.
- switch (day) {: day의 값에 따라 분기합니다.
- case 1:: day가 1일 경우 "월요일"을 설정합니다.
- case 2:: day가 2일 경우 "화요일"을 설정합니다.
- case 3:: day가 3일 경우 "수요일"을 설정합니다.
- default:: 위의 경우가 아닐 경우 "주말"로 설정합니다.
- System.out.println(dayName);: dayName을 출력합니다.
4. 실전 활용 예제
예제 1: 쇼핑몰 장바구니
쇼핑몰에서 사용자가 상품을 장바구니에 추가할 때, 상품의 재고가 있는지 확인하는 상황을 생각해보겠습니다.
int stock = 5; // 재고 수량
int requested = 3; // 요청 수량
if (requested <= stock) {
System.out.println("상품을 장바구니에 추가했습니다.");
} else {
System.out.println("재고가 부족합니다.");
}
예제 2: 날씨에 따른 옷 추천
날씨에 따라 어떤 옷을 입을지 결정하는 상황입니다.
String weather = "비";
switch (weather) {
case "맑음":
System.out.println("가벼운 옷을 입으세요.");
break;
case "비":
System.out.println("우산을 챙기세요.");
break;
case "눈":
System.out.println("따뜻한 옷을 입으세요.");
break;
default:
System.out.println("날씨를 확인하세요.");
}
5. 흔한 실수와 주의사항
실수 1: 조건문에서 비교 연산자 잘못 사용하기
// 잘못된 코드
if (score = 60) {
System.out.println("합격입니다."); // '='는 대입 연산자
}
올바른 코드
if (score 60) { // ''는 비교 연산자
System.out.println("합격입니다.");
}
실수 2: switch 문에서 break 누락하기
// 잘못된 코드
switch (day) {
case 1:
System.out.println("월요일");
case 2:
System.out.println("화요일");
case 3:
System.out.println("수요일");
}
올바른 코드
switch (day) {
case 1:
System.out.println("월요일");
break; // break가 없으면 다음 case도 실행됨
case 2:
System.out.println("화요일");
break;
case 3:
System.out.println("수요일");
break;
}
6. 정리
if 문은 조건에 따라 코드를 실행하며, switch 문은 변수의 값에 따라 여러 분기를 처리합니다.switch 문에서 break 문을 빼먹는 실수를 주의해야 합니다.다음에 학습하면 좋은 주제: 반복문 (for, while)