7_2 조건문 (if-else문 , if-else if문)

오현석·2022년 2월 28일
0

if문의 변형인 if-else문의 구조는 다음과 같다.

if (조건식) {
			// 조건식이 true일때 실행되는 코드
         }	esle {
         	// 조건식이 false일때 실행되는 코드
         };

간단하게 if문의 조건식이 false일 경우 else 이후 블록안에 코드가 실행된다.
따라서 두 블록의 내용이 모두 수행되거나 모두 수행되지 않는 경우는 존재하지 않는다.

if(변수a == 0){								   if(변수a == 0){
	system.out.println("0입니다")					system.out.println("0입니다")
    }} else {
if(변수a != 0){									    sysotem.out.println("0이 아닙니다")	
	system.out.println(:"0이 아닙니다")						}	
    } 

위의 예시와 같이 if문을 if-else문으로 변형시킬 수 있으며 효율적이고 간단해진다.


if -else문은 경우의 수가 2가지일때 사용하기 효율적이지만 경우의 수가 3가지 이상이라면 비효율적이게 된다.
따라서 이러한 경우 if -else if문을 사용하며 기본적인 형태는 다음과 같다.

      if (조건식 1){
		// 조건식 1의 연산결과가 참일때 수행될 코드
    } else if (조건식 2) {
    	// 조건식 2의 연산결과가 참일때 수행될 코드
    } else if (조건식 3) {
    	// 조건식 3의 연산결과가 참일때 수행될 코드
    } else  {
    	// 어느 조건식도 참이아닐때 실행될 코드(생략가능)
    }

첫번째 조건식 부터 차례대로 결과가 참인 조건식을 만나면, 해당 블록만 수행하고 if -else if문을 빠져나간다.
마지막 else블록은 생략이 가능하며, 생략시 어떤 조건식에도 만족하지 않는다면 if- else if문은 무시된다.

package study;

public class study {

	public static void main(String [] args) {
		
		int a = 100;
		
		if (a <= 10) {
			System.out.println("a는 10보다 작거나 같다.");
		} else if (a <= 100) {
			System.out.println("a는 100보다 작거나 같다.");
		} else if (a <= 1000) {
			System.out.println("a는 1000보다 작거나 같다.");
		} else {
			System.out.println("a는 1000보다 크다");
		}
		
	}
}

a는 100보다 작거나 같다.


위 예시를 보면 100이 저장된 a는 3가지 조건식을 만나게 된다.
1번째 조건은 10보다 a가 크기 때문에 무시되며, 2번째 조건식은 참의 결과를 얻어 블록안에 코드실행된다.
3번째 조건식은 참의 결과를 얻지만, 이미 2번째 조건식을 만족하여 if- else if문을 빠져나갔기 때문에 블록안에 코드가 실행되지 않았다.
마지막 else문 역시 참의 결과가 하나라도 존재하기 때문에 실행되지 않았다.

profile
지망생

0개의 댓글