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);
}
}
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 변수 값을 변경하면서 분기문의 동작이 잘되는지 테스트해 보자.