JAVA · 기초 문법
조건문 & 반복문 & switch expression
Java의 전통적 제어흐름과 Java 14+의 switch 표현식으로 코드를 더 안전하게 작성합니다.
기초 문법입문switch expressionyieldenhanced-forternaryJava 14
핵심 설명
Java의 전통적 제어흐름과 Java 14+의 switch 표현식으로 코드를 더 안전하게 작성합니다.
Java code
public class ControlFlow {
public static void main(String[] args) {
// if-else
int score = 85;
String grade = score >= 90 ? "A" :
score >= 80 ? "B" :
score >= 70 ? "C" : "F";
// switch expression (Java 14+) — 값 반환, break 불필요
String result = switch (score / 10) {
case 10, 9 -> "우수";
case 8 -> "양호";
case 7 -> "보통";
default -> "미흡";
};
// switch expression with yield
int dayNum = 3;
String day = switch (dayNum) {
case 1 -> "월요일";
case 2 -> "화요일";
case 3 -> {
System.out.println("수요일 처리");
yield "수요일"; // 블록에서 값 반환
}
default -> "기타";
};
// 향상된 for 루프
int[] nums = {1, 2, 3, 4, 5};
int sum = 0;
for (int n : nums) sum += n;
// 레이블 break (중첩 루프 탈출)
outer:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i == 1 && j == 1) break outer;
System.out.print(i + "" + j + " ");
}
}
System.out.println();
System.out.println(grade + " / " + result + " / " + day);
}
}학습 팁
새 switch expression은 모든 케이스를 커버하지 않으면 컴파일 에러가 납니다. 전통적 switch문보다 안전합니다.
주의할 점
전통적 switch 문에서 break를 빠뜨리면 다음 case로 fall-through됩니다. 의도치 않은 경우 버그의 원인이 됩니다. Java 14+의 -> 표현식은 fall-through가 없습니다.
자주 묻는 질문
조건문 & 반복문 & switch expression란 무엇인가요?
Java의 전통적 제어흐름과 Java 14+의 switch 표현식으로 코드를 더 안전하게 작성합니다.
조건문 & 반복문 & switch expression 학습 시 주의할 점은 무엇인가요?
전통적 switch 문에서 break 를 빠뜨리면 다음 case로 fall-through됩니다. 의도치 않은 경우 버그의 원인이 됩니다. Java 14+의 -> 표현식은 fall-through가 없습니다.
Continue Learning
Java 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.