Java/강의
[📙 Java 문법 종합반] 1-7. 조건문 - 프로그램의 선택지
가지코딩
2025. 4. 15. 12:11
📙 목차
🧡 학습 목표
- 조건문(if, if-else, else-if)이 무엇인지 학습한다.
- switch 문이 무엇인지 학습한다.
1. 조건문
주어진 조건이 참인지 거짓인지에 따라 계산이나 상황을 수행하는 문장
조건문 구조
- 조건 수식이 참(true)일 경우 명령문 실행
- 조건 수식이 거짓(false)이면 명령문을 실행하지 않음
if (조건 수식) {
명령문;
}
if (1 < 2) { // true
명령문; // ✅
}
if (2 < 1) { // false
명령문; // ❌
}
2. if 문 (if, if-else, else if)
if 문 - 조건이 참일 때만 실행
public class Main {
public static void main(String[] args) {
String light = "초록불";
if (light.equals("초록불")) {
System.out.println("건너세요!");
}
}
}
if-else문 - 조건이 거짓일 때도 처리
public class Main {
public static void main(String[] args) {
String light = "초록불";
if (light.equals("초록불")) {
System.out.println("건너세요!");
} else {
System.out.println("멈추세요!");
}
}
}
else-if문 - 여러개의 조건을 처리
public class Main {
public static void main(String[] args) {
String light = "초록불";
if (light.equals("초록불")) {
System.out.println("건너세요!");
} else if (light.equals("노란불")) {
System.out.println("주의하세요!");
} else {
System.out.println("멈추세요!");
}
}
}
3. switch 문
- 값에 따라 여러 동작을 실행
- 괄호안에 단일값만 들어갈 수 있다. 조건식은 사용할 수 없다.
switch (단일값) {
case 값1:
// 값1일 때 실행할 코드
break;
case 값2:
// 값2일 때 실행할 코드
break;
default:
// 위의 값들과 일치하지 않을 때 실행할 코드
}
public class SwitchNumber {
public static void main(String[] args) {
int number = 1;
switch (number) {
case 1:
System.out.println("1 입니다.");
break;
case 2:
System.out.println("2 입니다.");
break;
default:
System.out.println("1 도 아니고 2도 아닙니다.");
}
}
}
* fall-through 현상 주의
break 문을 스위치에서 사용하지 않으면 다음 case 가 실행된다.
4. 실습 과제
신호등 색상을 입력하면 프로그램이 올바른 안내 메시지를 출력하도록 만드세요!
새로운 클래스(TrafficLight.java) 를 만들어서 진행하세요.
import java.util.Scanner;
public class TrafficLight {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("신호등 색상을 입력하세요 (초록불, 노란불, 빨간불): ");
String light = in.nextLine();
if (light.equals("초록불")) {
System.out.println("건너세요!");
} else if (light.equals("노란불")) {
System.out.println("주의하세요!");
} else if (light.equals("빨간불")) {
System.out.println("멈추세요!");
} else {
System.out.println("잘못된 입력입니다.");
}
}
}