Java

[Java] 제어문1 - 조건문

noobdev 2019. 11. 27. 21:31

조건문이란 주어진 조건에 따라 프로그램의 진행방향이 분기될 수 있도록 해주는 문법이다.

조건문의 종류로는 if문 else문 else if문 switch문 등으로 나눌 수 있다.

 


if문

if(조건식) {
    자바코드;
}

if뒤의 따라오는 소괄호 ( ) 안에 조건식이 들어가며 조건식의 결과가 트루인 경우 중괄호 { } 안에 자바 코드가 실행된다.

조건에 맞지 않다면 다음 코드로 넘어가게 된다.

 

if(true) {
    System.out.println("true");
}

int num1 = 10;
int num2 = 20;
if(num1 >= num2) {	//조건식의 결과가 거짓이기 때문에 안에 코드가 실행되지 않는다.
    System.out.println("num1이 num2보다 크거나 같습니다.");	
}

if(num1 == 10) {
    if(num2 == 20) {
 	System.out.println("num1은 10이고 num2는 20입니다.");	
 }
}    

 

if문을 중첩으로 사용할 수도 있다. 밖에 있는 if문의 조건식이 true이고 안에있는 if문의 조건식도 true라면 코드가 실행된다.

 


else문

else문은 if문의 뒤에 따라 붙어 if문의 조건식이 false일 경우 실행되는 코드이다.

int num1 = 10;
int num2 = 20;
if(num1 >= num2) {	//조건식의 결과가 거짓이기 때문에 안에 코드가 실행되지 않는다.
    System.out.println("num1은 num2보다 크거나 같습니다.");	
  } else {
 	System.out.println("num1은 num2보다 크거나 같지 않습니다.");
  }

위 코드를 보면 if문의 조건식이 false이기 때문에 else 문 안에 코드가 실행되게 된다.

 


else  if문

else if문은 여러 개의 조건식 중 하나를 선택할 때 사용할 수 있는 다중 조건문이다.

if 문 뒤에 붙으며 if문의 조건식이 false 라면 else if문의 조건식을 검사하고 결과가 true라면 else if문 안에 코드를 실행한다.

 

Scanner sc = new Scanner(System.in);
	int score = 0;
	System.out.print("당신의 점수는 ? : ");
	score = sc.nextInt();
	if(score >= 90) {
		System.out.println("당신의 점수는 90점 이상입니다.");
	} else if(score >= 80) {
		System.out.println("당신의 점수는 80점 이상입니다.");
	} else if(score >= 70) {
		System.out.println("당신의 점수는 70점 이상입니다.");
	} else if(score >= 60) {
		System.out.println("당신의 점수는 60점 이상입니다.");
	} else {
		System.out.println("더 분발하세요.");
	}

위의 코드는 점수를 입력하고 점수의 맞는 else if문을 찾아 그 안에 코드를 실행시키는 예이다.

if문이나 else if문안에서 조건을 찾지 못하면 else 문에 코드를 실행시키고 밖으로 빠져나가게 된다.

 


switch문

else if문과 비슷하게 여러 개의 조건식 중 해당하는 조건식의 코드가 실행되는 다중 조건문이다.

 

Scanner sc = new Scanner(System.in);
	String season = "";
	System.out.print("당신이 좋아하는 계절은? : ");
	season = sc.nextLine();
	switch (season) {
	   case "봄": System.out.println("봄을 좋아하시네요!");
		   break;
	   case "여름": System.out.println("여름을 좋아하시네요!");
		   break;
	   case "가을": System.out.println("가을을 좋아하시네요!");
		   break;
	   case "겨울": System.out.println("겨울을 좋아하시네요!");
		   break;
	   default : System.out.println("좋아하는 계절이 없으시군요 ㅜㅜ");
		
		}

위 코드를 보면 좋아하는 계절을 입력받아 각 각 case의 조건에 맞는 코드가 실행된다.

만약 봄을 입력했다면 case "봄" 의 System.out.println문이 실행된다.

만약 조건의 맞는 case가 없다면 default 문을 실행하고 switch문 밖으로 나가게 되며, case가 맞는다며 case문 안에 코드를 실행시키고 break;를 만나면 switch문 밖으로 빠져나가게 된다.

 

 

 

 

"본 포스팅은 필자가 공부한 것을 정리해 놓은 것으로 오류가 존재할 수 있습니다."