프로그램의 흐름을 조작하는 제어문과 반복문입니다. 조건에 따라 갈림길을 선택하는 if-else와 다중 분기문 switch, 그리고 지정된 횟수만큼 트랙을 도는 for문과 조건이 참일 때까지 반복하는 while문이 있습니다.
특히 Java 14부터는 화살표(->)를 사용하여 break 없이 간결하게 값을 반환할 수 있는 강화된 switch 표현식(Switch Expressions)이 추가되어 실무에서 매우 널리 사용되고 있습니다.
if-else는 목적지로 가는 도중 만나는 갈림길(Y자 도로)입니다. 조건표지판을 보고 좌회전할지 우회전할지 결정하죠.
for / while은 운동장의 달리기 트랙입니다. 정해진 바퀴 수(for)를 채우거나 체력이 다할 때까지(while) 계속 트랙을 돕니다.
switch는 수많은 문이 있는 호텔 복도입니다. 내 방 번호(변수 값)와 똑같은 문을 한 번에 찾아 들어갑니다.
| 비교 항목 | 전통적인 Switch (이전) | Switch 표현식 (Java 14+) |
|---|---|---|
| break 키워드 | 필수 (없으면 다음 case까지 실행됨) | -> 화살표 사용 시 break 불필요 |
| 값 반환 (Return) | 자체적으로 값을 반환하지 못함 (외부 변수에 할당해야 함) | 식을 평가하고 결과값을 바로 반환하여 변수에 할당 가능 |
| 다중 조건 | case 1: case 2: 로 길게 나열 |
case 1, 2 -> 처럼 콤마(,)로 그룹화 가능 |
for (String fruit : fruits) 와 같은 향상된 for문은 배열을 읽기만 할 때 매우 편리합니다. 하지만 배열 안의 값을 변경하거나, 현재 몇 번째 인덱스를 돌고 있는지(i) 알아야 할 때는 기존의 for (int i=0; i<length; i++) 방식을 사용해야 합니다.