개발 지식/Java

[Java] If 분기문

devGSP 2022. 7. 15. 08:00
반응형
이 게시물은 아래 버전을 기준으로 작성되었습니다.

Java : 11.0.15.1
OS : Windows 10 Pro
IDE : Eclipse IDE for Enterprise Java and Web Developers - 2022-06

 

If 분기문

 

프로그램의 실행 흐름과 제어문

 

일반적으로 프로그램은 위에서 아래로, 왼쪽에서 오른쪽으로 실행된다. 그 흐름을 제어하기 위해서 제어문을 사용하는데, 제어문은 크게 분기문과 반복문으로 나눌 수 있다. 제어문의 실행문은 중괄호 안에서 입력하지만 실행문이 하나일 경우 중괄호를 생략할 수 있다는 특징이 있다. 자세한 예시는 하단의 If 분기문 항목에서 다루겠다.

 

 

분기문

 

분기문은 여러 실행문들 중에서 조건에 따라 특정 실행문만을 실행시키는 제어문이다. 상황에 따라서 단 하나의 실행문도 실행시키지 않는 것도 가능하다. 분기문의 종류로는 연산자 포스트(링크)에서 살펴보았던 조건(삼항)연산자, If 분기문, Switch 분기문이 있다.

 

 

If 분기문

 

설명

 

다른 분기문들을 완벽하게 대체할 수 있는 가장 대표적인 분기문이다. 조건에 따라 필요한 실행문을 실행시킬 수 있다.

 

 

문법

 

if ([조건]) { 
    [조건이 참일 경우 실행할 실행문(들)];
} else if ([조건2]) {
    [조건2가 참일 경우 실행할 실행문(들)];
else if ([조건n]) {
    [조건n이 참일 경우 실행할 실행문(들)];
} else {
    [앞의 조건(들)이 거짓일 경우 실행할 실행문(들)];
}

 

else if절과 else 절은 생략해도 무방하며, 실행문이 하나라면 중괄호를 생략할 수 있다.

아래 예시를 통해 살펴보자.

 

package com.devgsp.study.basic;

public class IfStatement {
	public static void main(String[] args) {
		// if 분기문 예시 코드
		String msg;
		
		if (3 > 1) {	// 3이 1보다 크면
			msg = "3은 1보다 크다.";
		}
		
		System.out.println(msg);
		
		// 실행문이 한 줄이면 중괄호를 생략해도 된다.
		if (4 > 2)
		msg = "4는 2보다 크다.";
		
		if (2 > 4)
		msg = "2는 4보다 크다.";	// 실행되지 않음
		
		System.out.println(msg);
		
		// 다만, 가독성을 위해 if 분기문은 실행문이 한 줄이라도 중괄호를 넣어 주거나 아예 한 줄로 같이 작성하기도 한다.
		if (5 > 2)	msg = "5는 2보다 크다.";
		
		System.out.println(msg);
		System.out.println("=======================");
		
		// if-else 분기문 예시 코드
		int num = 30;
		String msg1;
		
		if (num < 20) {
			msg1 = "바보!";
		} else {
			msg1 = "천재!";
		}
		System.out.println(msg1);
		System.out.println("=======================");
		
		// if-else if 분기문 예시 코드
		int num2 = 10;
		
		if (num2 < 2) {
			num2 = num2 + 20;
		} else if (num2 > 2) {
			num2 = num2 + 40;
		}
		System.out.println(num2);
		
		
		// if-elseif-else 분기문 예시 코드
		int num3 = 100;
		
		if (num3 == 99) {
			num3 = 0;
		} else if (num3 == 101) {
			num3 += 9999;
		} else {
			num3 = 1004;
		}
		
		System.out.println(num3);
	}
}

 

if1
IfStatement.java 실행 결과

 

 

[예제]

1. com.devgsp.study.basic
패키지에 MyIfStatement 클래스를 생성하자.
2. 성적을 저장할 String형 변수 yourGrade, 점수를 저장할 int형 변수 yourScore를 선언하자.
3. 점수가 90~100점이면 성적이 A, 점수가 80~89점이면 성적이 B, 점수가 70~79점이면 성적이 C, 점수가 60~69점이면 성적이 D, 그 외 점수이면 성적이 F로 설정되는 코드를 작성하자.
4. 아래와 같은 출력이 이루어지도록 코드를 작성하고, yourScore 변수 값을 변경하면서 분기문의 동작이 잘되는지 테스트해 보자.

당신의 성적은 X입니다.

 

더보기
package com.devgsp.study.basic;

public class MyIfStatement {
	public static void main(String[] args) {
		String yourGrade;
		int yourScore = 100;
		
		if (yourScore <= 100 && yourScore >= 90) {
			yourGrade = "A";
		} else if (yourScore <= 89 && yourScore >= 80) {
			yourGrade = "B";
		} else if (yourScore <= 79 && yourScore >= 70) {
			yourGrade = "C";
		} else if (yourScore <= 69 && yourScore >= 60) {
			yourGrade = "D";
		} else {
			yourGrade = "F";
		}
		
		System.out.println("당신의 성적은 " + yourGrade + "입니다.");
	}
}

 

if2
MyIfStatement.java 실행 결과

 

 

 

반응형

'개발 지식 > Java' 카테고리의 다른 글

[Java] While / Do-While 반복문  (0) 2022.07.17
[Java] Switch 분기문  (0) 2022.07.16
[Java] 연산자  (0) 2022.07.14
[Java] 형 변환  (0) 2022.07.13
[Java] 명명 규칙  (0) 2022.07.12