Java의 조건문(if문, switch문)
프로그램의 흐름(flow) 바꾸는 역할을 하는 문장들을 ‘제어문(control statement)’이라고 한다. 제어문에는 조건문과 반복문이 있다.
조건문: 조건에 따라 다른 문장이 수행되도록 함.
반복문: 특정 문장들을 반복해서 수행
제어문 중 조건문을 살펴보기 전에, 제어문에서 문은 영어로 statement로 표현이라는 뜻을 가지고 있으며 프로그래밍에서 실행이 가능한 가장 작은 단위의 코드라고 할 수 있다. 프로그램은 하나 이상의 문이 연결되어 형성된다. 앞서 나왔던 식(expression)은 프로그래밍에서 값, 변수, 연산자, 함수를 사용하여 계산하고자 하는 것을 표현한 것으로 문은 식과 같은 내부 요소를 포함할 수 있다.
if문은 가장 기본적인 조건문이며, 조건식과 블럭으로 이루어져 있다. ‘만일(if) 조건식이 참(true)이면 블럭{ } 안의 문장들을 수행하라'라는 의미이다.
if (조건식) {
// 조건식이 참(true)일 때 수행
}
조건식의 결과에 따라 if문 또는 else문 블럭 중 어느 한 블럭의 내용이 수행되고 if-else문을 벗어남
if (조건식) {
// 조건식이 참(true)일 때 수행
} else {
// 조건식이 거짓(false)일 때 수행
}
첫 번째 조건식부터 순서대로 평가해 결과가 참인 조건식을 만나면 해당 블럭만 수행하고 if-else if문 전체를 벗어남
만약 결과가 참인 조건식이 하나도 없으면 마지막 else문의 블럭이 수행되지만 else문은 생략이 가능하기 때문에 if-else if문의 어떤 블럭도 수행되지 않을 수 있음.
if (조건식1) {
// 조건식1의 결과가 참일 때 수행
} else if (조건식2) {
// 조건식2의 결과가 참일 때 수행
} else if (조건식3) {
// 조건식3의 결과가 참일 때 수행
} else { // 생략 가능
// 위의 어느 조건식도 만족하지 않을 때 수행
}
단 하나의 조건식으로 많은 경우의 수를 처리할 때 if문 대신 사용할 수 있는 제어문이다. switch문은 다음과 같은 순서로 수행된다.
※ break문을 생략할 시 case문 사이의 구분이 없어지므로 다른 break문을 만나거나 switch문 블럭의 끝을 만날 때까지 나오는 모든 문장들을 수행한다.