Java에서 else if
는 조건문을 사용하여 프로그램의 흐름을 세부적으로 제어할 수 있도록 합니다. 단순한 if
와 else
의 구조를 확장하여 여러 조건을 평가하고, 특정 조건을 만족할 때만 실행되는 코드를 작성할 수 있습니다. 이번 글에서는 else if
문법과 이를 활용한 다양한 예제를 소개합니다.
1. Else If 기본 구조
else if
는 if
와 else
사이에 위치하며, 조건이 여러 개일 때 사용됩니다. 여러 조건 중 하나만 참이면 해당 조건의 코드 블록이 실행됩니다.
Else If 기본 문법
if (조건식1) {
// 조건식1이 참일 때 실행되는 코드
} else if (조건식2) {
// 조건식2가 참일 때 실행되는 코드
} else {
// 모든 조건이 거짓일 때 실행되는 코드
}
Else If 기본 예제
public class ElseIfExample {
public static void main(String[] args) {
int score = 75;
if (score >= 90) {
System.out.println("A 학점");
} else if (score >= 80) {
System.out.println("B 학점");
} else if (score >= 70) {
System.out.println("C 학점");
} else {
System.out.println("F 학점");
}
}
}
출력 결과:
C 학점
위 예제에서 score
값은 75로, 조건 score >= 70
이 참이므로 C 학점
이 출력됩니다.
2. Else If의 동작 원리
else if
문은 순차적으로 조건을 평가하며, 첫 번째로 참인 조건이 발견되면 나머지 조건은 평가하지 않고 해당 코드 블록만 실행됩니다. 이 동작은 프로그램의 성능을 향상시키는 데도 기여합니다.
조건 평가 예제
public class ElseIfEvaluation {
public static void main(String[] args) {
int number = 20;
if (number > 30) {
System.out.println("30보다 큽니다.");
} else if (number > 10) {
System.out.println("10보다 큽니다.");
} else if (number > 0) {
System.out.println("0보다 큽니다.");
}
}
}
출력 결과:
10보다 큽니다.
위 예제에서 첫 번째 조건 number > 30
은 거짓이므로 두 번째 조건 number > 10
이 평가됩니다. 이 조건이 참이므로 10보다 큽니다.
가 출력되고, 나머지 조건은 평가되지 않습니다.
3. Else If의 다양한 활용
else if
는 다양한 상황에서 조건을 세분화하는 데 유용합니다. 아래는 실생활에서 자주 사용되는 예제를 보여줍니다.
3.1 로그인 권한 체크
public class UserAccess {
public static void main(String[] args) {
String role = "admin";
if (role.equals("admin")) {
System.out.println("관리자 권한이 부여됩니다.");
} else if (role.equals("user")) {
System.out.println("사용자 권한이 부여됩니다.");
} else {
System.out.println("권한이 없습니다.");
}
}
}
출력 결과:
관리자 권한이 부여됩니다.
3.2 숫자 범위 평가
public class NumberRange {
public static void main(String[] args) {
int value = 15;
if (value < 10) {
System.out.println("10보다 작습니다.");
} else if (value >= 10 && value <= 20) {
System.out.println("10 이상 20 이하입니다.");
} else {
System.out.println("20보다 큽니다.");
}
}
}
출력 결과:
10 이상 20 이하입니다.
4. Else If 작성 시 주의점
- 조건의 순서: 조건은 범위가 좁은 것부터 넓은 순으로 작성해야 합니다. 그렇지 않으면 특정 조건이 항상 참이 되어 나머지 조건이 평가되지 않을 수 있습니다.
- 코드 가독성: 조건이 많아질 경우
switch
문이나 다른 구조로 변경하여 가독성을 높이는 것이 좋습니다. - 불필요한 중복 제거: 중복된 조건이나 코드가 없도록 작성하세요.
5. Else If와 Switch 비교
복잡한 조건문을 작성할 때는 else if
와 switch
문 중 어느 것을 사용할지 고민하게 됩니다. 간단한 값 비교에는 switch
문이 더 간결하며, 복잡한 조건은 else if
가 적합합니다.
Switch 문 예제
public class SwitchExample {
public static void main(String[] args) {
int day = 3;
switch (day) {
case 1:
System.out.println("월요일");
break;
case 2:
System.out.println("화요일");
break;
case 3:
System.out.println("수요일");
break;
default:
System.out.println("알 수 없는 요일");
}
}
}
출력 결과:
수요일
값의 비교가 단순할 경우 switch
문이 더 간결하다는 것을 알 수 있습니다.
결론
Java의 else if
문은 프로그램의 흐름을 정교하게 제어하는 데 매우 유용합니다. 조건을 세분화하고 다양한 상황에 맞게 대응할 수 있는 유연성을 제공합니다. 이번 글에서 소개한 문법과 예제를 바탕으로 else if
를 활용하여 더 효율적이고 가독성 높은 코드를 작성해 보세요!
댓글 쓰기