JAVA/JAVA 정리

[JAVA] 조건문 ( if문, switch문 )

h0-0cat 2023. 5. 4. 07:29
728x90

조건문(  if문, switch문 )

if문

if문은 조건식의 결과에 따라 블록이 실행 여부가 결정된다.

 

조건식에는 true 또는 false 값을 산출할 수 있는 연산식이나, boolean 변수가 올 수 있다.                                                    조건식이 true이면 블록을 실행하고 false이면 블록을 실행하지 않는다.

if (조건식){

실행문;

실행문;
....
}
// 조건식이  true가 될 때 실행해야 할 문장이 하나 밖에 없다면  
// 중괄호 {} 생략가능하지만 생략하지 않고 작성하는 것을 추천   
if ( 조건식 )
실행문 ;

조건식이  true가 될 때 실행해야 할 문장이 하나 밖에 없다면  { } 생략가능하지만 생략하지 않고 작성하는 것을 추천   

public class H2{
	public static void main(String[] args){
    	int score = 97;
        
        if(score >= 90) {
        	System.out.println("점수가 90 보다 큽니다."); 
            System.out.println("등급은 A 입니다");
        }
         if(score < 90) {
        	System.out.println("점수가 90 보다 작습니다."); 
            System.out.println("등급은 B 입니다"); // if문과 상관없는 실행문
    }
}

결과

점수가 90보다 큽니다.
등급은 A 입니다.
등급은 B 입니다.

int score = 97; 점수가 90 보다 크므로 if(score < 90) 는 실행이 되지않았다.

System.out.println("등급은 B 입니다"); // if문과 상관없는 실행문

 


 

if -else 문

if문은 else 블록과 함께 사용되어 조건식의 결과에 따라 실행 블록을 선택한다.

 

if문의 조건식이 true이면 if문의 블록이 실행되고, 조건식이 false이면 else블록이 실행된다.

 

 

 

public class H2{
	public static void main(String[] args){
    	int score = 83;
        
        if(score >= 90) {
        	System.out.println("점수가 90 보다 큽니다."); 
            System.out.println("등급은 A 입니다");
        } else { // score < 90 일 경우 
        	System.out.println("점수가 90 보다 작습니다."); 
            System.out.println("등급은 B 입니다"); 
    }
}

결과

점수가 90보다 작습니다.
등급은 B 입니다.

 

 

if-else if-else문

조건문이 여러개인 if문도 있다.

처음 if문의 조건식이 false일 경우 다른 조건식의 결과에 따라 실행 블록을 선택할 수 있는데 if블록의 끝에 else if문을 붙이면 된다. else if문의 수는 제한이 없으며 여러개의 조건식중에 true가 되는 블록만 실행하고 전체 if문을 벗어나게된다.

public class H2{
	public static void main(String[] args){
    	int score = 73;
        
        if(score >= 90) {
        	System.out.println("점수가 100~90 입니다."); 
            System.out.println("등급은 A 입니다");
        } else if(score >= 80) {	 // 80 <= score < 90 일경우 
        	System.out.println("점수가 80~89 입니다."); 
            System.out.println("등급은 B 입니다"); 
    	 } else if(score >= 70) {	 // 70 <= score < 80 일경우 
        	System.out.println("점수가 80~89 입니다."); 
            System.out.println("등급은 B 입니다"); 
    	}else{ 	// score < 70 일 경우 
       		System.out.println("점수가 70미만 입니다."); 
          	System.out.println("등급은 D 입니다"); 
		}
	}
 }

 

결과

점수가 70~79 입니다.
등급은 C 입니다.

 


 

중첩 if 문 

if문의 블록 내부에는 또 다른  if문을 사용 할 수 있다. 이것을 중첩 if문이라고 부른다.

* 중첩 if문 안에서 else-if도 사용 가능하다.

	public class H2 {
	public static void main(String[] args) {
		int score = (int)(Math.random())*20) + 81 ;
		System.out.prinlt("점수 : " + score);
		System.out.print("점수를 입력해주세요. >");
		
        String grade;
        
        if(score > = 90){
        	if(score >= 95) {        // 중첩 if 문
            	grade = "A+";
            } else {
            	grade = "A";
            } else {
           	if(score >= 85) {        // 중첩 if 문
            	grade = "B+";
            } else {
            	grade = "B";
            }
        }
		System.out.prinlt("학점 : " + score);
	}
}

결과

점수 : 84
학점 : B

 


switch문

switch문은 if문과 마찬가지로 조건 제어문이다.

하지만 switch문은 if문처럼 조건식이 true일 경우에 블록 내부의 실행문을 싱행하는 것이 아니라,

변수가 어떤 값을 갖느냐에 따라 실행문이 선택된다.

switch문 괄호 안의 값과 동일한 값을 갖는 case로 가서 실행문을 실행시킨다.

만약 괄호안의 값과 동일한 값을 갖는 case가 없으면 default로 가서 실행문을 실행시킨다.

default 생략가능하다 .

//문법
switch(변수){
    case1 : 
        실행문; 
        break;
    case2 : 
        실행문; 
        break;  
    default :
        실행문;    
}

1.

public class H2 {
	public static void main(String[] args) {
		int score = 80;

		switch (score / 10) {
		case 9:
			System.out.println("A등급입니다.");
			break;
		case 8:
			System.out.println("B등급입니다.");
			break;
		case 7:
			System.out.println("C등급입니다.");
			break;
		case 6:
			System.out.println("D등급입니다.");
			break;
		default:
			System.out.println("F등급입니다.");
		}
	}
}

결과

B등급입니다.

 

2.

public class H2 {
	public static void main(String[] args) {
		char grade = 'B';

		switch (grade) {
		case 'A':
		case 'a':
			System.out.println("우수 회원입니다.");
			break;
		case 'B':
		case 'b':
			System.out.println("일반 회원입니다.");
			break;
		default:
			System.out.println("손님 입니다.");
		}
	}
}

결과

일반 회원입니다.

3.

public class H2 {
	public static void main(String[] args) {
		String position = "과장";  // 직급별 월급 구하기 

		switch ( position) {
		case "부장":
			System.out.println("800만원");
			break;
		case "과장":
			System.out.println("600만원");
			break;
		default:
			System.out.println("400만원");
		}
	}
}

결과

600만원

 

 

 

728x90

'JAVA > JAVA 정리' 카테고리의 다른 글

[JAVA] 참조 타입  (0) 2023.05.05
[JAVA] 연산자와 연산식  (0) 2023.05.04
[JAVA] 반복문 (for문, while문, do-while문)  (0) 2023.05.04
[JAVA] 변수와 타입  (0) 2023.05.03
[JAVA] JAVA 시작하기  (0) 2023.05.03