전까지는 코드의 실행흐름이 무조건 위에서 아래로 한 문장씩 순차적으로 진행되었지만 때로는 조건에 따라 문장을 건너뛰고, 때로는 같은 문장을 반복해서 수행해야할 때가 있습니다.
이처럼 프로그램의 흐름을 바꾸는 역할을 하는 문장들을 '제어문(control statement)'이라고 합니다.
제어문에는 '조건문과 반복문'이 있는데, 조건문은 조건에 따라 다른 문장이 수행되도록 하고, 반복문은 특정 문장들을 반복해서 수행합니다.
if - 조건문
if문은 가장 기본적인 조건문이며, 다음과 같이 '조건식'과 '괄호{ }'로 이루어져 있습니다.
'if'의 뜻이 '만일 ~이라면...' 이므로 '만일(if) 조건식이 참(true)이면 괄호{ } 안의 문장들을 수행하라.' 라는 의미로 이해하면 됩니다.
if (조건식) {
// 조건식이 참(true)일 때 수행될 문장들을 적는다.
}
if - else
if - else문은 두 가지 경우 중 하나가 수행되는 구조인데, 처리해야할 경우의 수가 셋 이상인 경우에는 else if문을 사용하면 된다.
if (조건식) {
// 조건식1의 연산결과가 참일 때 수행될 문장들을 적는다.
} else if (조건식2) {
// 조건식2의 연산결과가 참일 때 수행될 문장들을 적는다.
} else if (조건식3) { // 여러 개의 else if를 사용할 수 있다.
// 조건식3의 연산결과가 참일 때 수행될 문장들을 적는다.
} else { // 마지막에는 보통 else 블럭으로 끝나며, else블럭은 생략가능하다.
// 위의 어느 조건식도 만족하지 않을 때 수행될 문장들을 적는다.
}
public class FlowEx1 {
public static void main(String[] args) {
int x = 0;
System.out.printf("x = %d일 때, 참 인 것은?\n", x);
if(x==0)
System.out.println("x==0");
else if(x!=0)
System.out.println("x!=0");
else if(!(x==0))
System.out.println("!(x==0)");
else if(!(x!=0))
System.out.println("!(x!=0)");
x = 1;
System.out.printf("x = %d일 때, 창 인 것은?\n", x);
if(x==0)
System.out.println("x==0");
else if(x!=0)
System.out.println("x!=0");
else if(!(x==0))
System.out.println("!(x==0)");
else if(!(x!=0))
System.out.println("!(x!=0)");
}
}
댓글