Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[자바/Java] - 조건문1 (if문, if-else문) 본문

Study/Java

[자바/Java] - 조건문1 (if문, if-else문)

luke-king 2023. 12. 19. 21:44

if문, if-else문

조건문(if, if-else, switch)은 말 그대로 조건이 충족한다면 조건문 내부에 있는 코드를 실행한다는 뜻이다.

예를 들어 "20살 이상은 성인입니다.", "20살 미만은 미성년자 입니다." 를 출력한다 가정해 보자.

 

if문

if(age >= 20){ //20살 이상이면 "성인입니다."
 System.out.println("성인입니다.");
}

if(age < 20){ //20실 미만이면 "미성년자입니다."
 System.out.println("미성년자입니다.");
}

위 코드 그대로 age 변수 값이  20 이라면 "성인입니다."가 출력되고. age 변수 값이 19 이면 "미성년자입니다."가 출력된다. if문은 특정 조건이 참인지 확인하고, 그 조건이 참(true) 일 경우 특정 코드 블록을 실행한다.

 

else문

else문은 if문에서 만족하는 조건이 없을 때 실행하는 코드를 제공한다.

위 코드를 예시로 들어 보겠다.

if(age >= 20){ //참일 때 실행
 System.out.println("성인입니다.");
} else { //만족하는 조건이 없을 때 실행
 System.out.println("미성년자입니다.")
}

위 if문 코드보다 더 간략해진걸 확인할 수 있다.

- 기존: 만약 20살 이상이면 "성인입니다."를 출력하고, 만약 20살 미만이면 "미성년자입니다."를 출력해야 한다.

- 변경: 만약 20살 이상이면 "성인입니다."를 출력하고, 그렇지 않으면 "미성년자입니다."를 출력해야 한다.

쉽게 이야기하면 20살이 넘으면 성인이고, 그렇지 않으면 모두 미성년자이다.

 

else if

바로 예시 코드를 봐보겠다.

int age = 17;

if(age <= 7){ //7살 이하이면 "어린이"
 System.out.println("어린이");
}
if(age >= 8 && age <= 13){ //8~13: 초등학생
 System.out.println("초등학생");
}
if(age >= 14 && age <= 16){ //14~16: 중학생
 System.out.println("중학생");
}
if(age >= 17 && age <= 19){ //17~19: 고등학생
 System.out.println("고등학생");
}

코드를 보면 이미 조건을 만족해도 불필요한 다음 조건을 계속 검사한다. 예를 들어서 나이가 6살이라면 어린이가 이미 출력이 된다. 그런데 나머지 " if문 "을 통한 조건 검사도 모두 실행해야 한다. 또 코드 효율성도 떨어지며 조건을 중복 체크한다. 이런 코드에서는 " else if "를 사용하면 불필요한 조건 검사를 피하고 코드의 효율성을 향상할 수 있다.

 

else if문은 앞선 if문의 조건이 거짓일 때 다음 조건을 검사해 if문이 참이라면 else if를 실행하지  않고 if문이 거짓이라면 다음 else if를 실행한다.

 

위 코드를 " if else문 " 을 사용해 보겠다.

int age = 17;

if(age <= 7){ //7살 이하이면 "어린이"
 System.out.println("어린이");
} else if(age <= 13){ //8~13: 초등학생
 System.out.println("초등학생");
} else if(age <= 16){ //14~16: 중학생
 System.out.println("중학생");
} else if(age <= 19){ //17~19: 고등학생
 System.out.println("고등학생");
} else{ //위 조건값들이 모두 충족하지 않을경우 "성인" 출력
 System.out.println("성인")
}

" if문 "을 하나로 묶었다고 보면 된다. 이렇게 하면 특정 조건이 만족해 코드를 실행하고 " if문 " 전체를 빠져나온다. 특정 조건을 만족하지 않으면 다음 조건을 검사한다. 여기서 핵심은 위에서 아래로 맞는 조건을 찾아보고, 맞는 조건이 있다면 1개만 실행된다.

 

※ 출처: Inflearn 김영한-Java 강의 중