본문 바로가기
Java/[패스트캠퍼스] Java & SpringBoot로 시작하는 웹 프로그래밍

Ch 01. 자바 기초 - 15. 조건이 여러 개 일 때의 if 문

by hinote 2022. 12. 29.

if-else에서는 조건이 하나일 때 수행을 한다 안 한다로 나뉘었었음

if-else if-else 문

  • 하나의 상황에 대한 조건이 여러개로 나뉘고 각 조건에 다른 수행이 이루어져야 할 경우 사용
  • 각 조건은 상호 배타적임
  if(조건식1){
      수행문1;        // 조건식1이 '참'인 경우 수행하고 전체 조건문을 빠져나감
  }
  else if(조건식2){
      수행문2;        // 조건식2이 '참'인 경우 수행하고 전체 조건문을 빠져나감
  }
  else if(조건식3){
      수행문3;        // 조건식3이 '참'인 경우 수행하고 전체 조건문을 빠져나감
  }
  else{
      수행문4;        // 위 조건이 모두 해당되지 않는 경우 수행됨 (디폴트 조건)
  }

  수행문5;            // if-else if-else 문이 끝나면 수행됨

  가령 조건식2가 만족되면 수행문2 -> 수행문5  순으로 수행됨

 

 

package ch15;

public class IfElseIfElseTest {

   public static void main(String[] args) {
   	int age = 12;
   	int charge;
   	
   	if(age < 8){
   		charge = 1000; 
   		System.out.println("미 취학 아동입니다.");
   	}
   	else if(age < 14){
   		charge = 2000;
   		System.out.println("초등학생 입니다.");
   	}
   	else if(age < 20){
   		charge = 2500;
   		System.out.println("중, 고등학생 입니다.");
   	}
   	else{
   		charge = 3000;
   		System.out.println("일반인 입니다.");
   	} 
   	
   	System.out.println("입장료는 " + charge + "원입니다.");
   }
}

//초등학생 입니다.

//입장료는 2000원입니다.

 


==따로 구동되는지 테스트해보기==

 

package ch15;

public class IfElseIfElseTest {

   public static void main(String[] args) {
		int age = 25;
		int charge = 3000;
   	
		if(age < 8){
			charge = 1000; 
			System.out.println("미 취학 아동입니다.");
		}
		else if(age < 14){
			charge = 2000;
			System.out.println("초등학생 입니다.");
		}
		else if(age < 20){
			charge = 2500;
			System.out.println("중, 고등학생 입니다.");
		}
   	
   	System.out.println("입장료는 " + charge + "원입니다.");
   }
}

 



if-else if 문과 if - if 문의 차이점


if는 단독조건임

  • if- else if 를 사용하는 경우 하나의 조건이 만족 되면 나머지 else if 부분은 수행되지 않음
  • if - if 로 사용하게 되면 각각 다른 조건 문으로 해석되어 각각 수행하게 됨
    배타적인 관계에 대한 로직이 성립하지 x



package ch15;

public class IfIfTest {

	public static void main(String[] args) {
		int age = 12;
		int charge;
		
		if(age < 8){
			charge = 1000; 
			System.out.println("미 취학 아동입니다.");
		}
		if(age < 14){
			charge = 2000;
			System.out.println("초등학생 입니다.");
		}
		if(age < 20){
			charge = 2500;
			System.out.println("중, 고등학생 입니다.");
		}
		else{
			charge = 3000;
			System.out.println("일반인 입니다.");
		} 
		
		System.out.println("입장료는 " + charge + "원입니다.");
	}
}

댓글