상세 컨텐츠

본문 제목

[조건문]중첩 if 문

프로그램 언어/JAVA

by 알케이88 2020. 1. 11. 12:11

본문

지금까지 if문 if - else문 if - else if - else문을 알아보았다.

 

오늘은 if문 내에 또 다른 if 문을 포함시키는 것이 가능한 중첩 if 문에 대해서 연습해보기로 하자.

 

중첩 if 문의 구조

이 그림과 같이 중첩 if 문을 좀 더 보기 쉽게 표기하기 위해 중괄호의 색을 넣었다. 에디터에서는 좀 더 보기 쉽게 꼭 한번 더 들여 쓰기를 해서 두 if문의 범위를 명확하게 구별할 수 있게 해야 한다. 조건식 1 if 문에 중괄호가 조건식 2 if 문을 포함하였다고 알 수 있다.

 

자 아래 예를 들어 좀 더 쉽게 이야기해보자 

 

성적 등급 나타내기 1

여기까지는 뭐 어렵지는 않으나 문제는 A 도 A+, A0, A- 가 있고 B C까지 다 있다.

A+는 100 ~ 98까지 A0는 97 ~ 94까지 A-는 93 ~ 91까지

B+는 90 ~ 88까지 B0는 87 ~ 84까지 B-는 83 ~ 81까지

C+는 80 ~ 78까지 C0는 77 ~ 74까지 C-는 73 ~ 71까지 등급이 나누어진다고 하자

 

이제 중첩 if 문을 사용하여 만들어 보자 +,0,-는 lev를 사용해보자

package ifexample;

import java.util.Scanner;

public class ifEx3 {
 
	public static void main(String[] args) {
		int score = 0;
		char grade = ' ', lev= '0';// 기본으로 A0, B0, C0 으로 설정
		System.out.println("점수를 입력해 주세요.");
		
		Scanner sc = new Scanner(System.in);

		score = sc.nextInt();
			
		if(score > 90) {
			grade = 'A';
			if (score > 97) {
				lev = '+';
			} else if (score < 94){
				lev = '-';
			}
		}else if(score > 80) {
			grade = 'B';
			if (score > 87) {
				lev = '+';
			} else if (score < 84){
				lev = '-';
			}
		}else if(score > 70) {
			grade = 'C';
			if (score > 77) {
				lev = '+';
			} else if (score < 74){
				lev = '-';
			}
		}else if(score > 60) {
			grade = 'D';
		}else {
			grade = 'F';
            System.out.println("시험에 탈락 하셨습니다. 재수강을 들으셔야 합니다.");
		}
		
		System.out.println("당신의 점수는 "+score+"이고 등급은 "+ grade + lev +" 입니다.");
	}

}

관련글 더보기

댓글 영역