조건문

김민성·2022년 7월 14일
0

Java

목록 보기
7/47
post-thumbnail

조건문

1. if문

  • if문의 구조

    if (조건식1) {

    ​ 조건식 1이 참일때 수행

    } else if (조건식2) {

    ​ 조건식 2가 참일때 수행

    } else {

    ​ 위의 조건식들이 모두 거짓일때 수행

    }

  • else if 문은 여러번 쓸 수 있으며, 조건이 하나일 때는 else if와 else문은 생략 가능하다.

    public class Main {
    	public static void main(String[] args) {
    		int score = 85;
    		
    		// 점수에 따라 등급 출력하기
    		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("D");
    		}
    	}
    }

    위의 score값이 85이고, 두 번째 score >= 80 조건식을 만족하므로 결과는 "B"가 된다.

    score값이 90점 이상일때는 첫번째 if문을 수행하고 그 아래의 else if나 else문은 수행하지 않으므로 두 번째 조건식을 score>=80 && score <90 으로 적을 필요가 없다. 마찬가지로 세 번째 조건식도 score >= 70 이 되는 것이다.

2. switch문

  • switch문은 경우의 수가 변수에 담긴 값의 등가비교로 인해 나뉠 때 사용한다.

  • switch문은 경우의 수를 나누어 선택한다기 보다는, 어디로 진입할지 시작점을 선택하는 것이다. 따라서 진입한 case문 아래에 case문장이 더 있다면 그 문장들도 실행한다. 따라서 각 케이스들을 나누어 주기 위해 적절히 break; 를 사용해야 한다.

  • switch문의 구조

    switch(변수) {

    case 값1:

    ​ 변수에 담긴 값이 값1 일때 수행할 문장

    ​ break;

    case 값2:

    ​ 변수에 담긴 값이 값2 일때 수행할 문장

    ​ break;

    ...

    default:

    ​ 위의 값들이 아닐때 수행할 문장

    }

    public class Main {
    	public static void main(String[] args) {
    		int month = 5;
    		
    		switch(month) {
    		case 3:
    		case 4:
    		case 5:
    			System.out.println("봄");
    			break;
    		case 6:
    		case 7:
    		case 8:
    			System.out.println("여름");
    			break;
    		case 9:
    		case 10:
    		case 11:
    			System.out.println("가을");
    			break;
    		case 12:
    		case 1:
    		case 2:
    			System.out.println("겨울");
    			break;
    		}
    	}
    }

    위의 코드에서 month의 값은 5이므로 case 5 의 문장으로 진입하고 "봄"을 출력할 것이다. 그 후 break; 를 만나 종료될 것이다.

    만약 month의 값을 9로 바꿨다고 가정해보자. 그럼 case 9 의 문장으로 진입하고 case 10case 11 을 지나 "가을"을 출력하고 break; 를 만나 종료될 것이다. 이렇게 각 case마다 break; 를 적절하게 넣어주거나 의도적으로 생략해서 코드를 짜는것이 중요하다.

0개의 댓글