오늘은 제어문 중에서 조건문에 대해 배워보겠습니다. 조건문은 제가 학기 말에 배운 것이라서 더 수월하게 익힐 수 있어서 좋았던 것 같아요. 다시 복습하는 마음가짐으로 정리 시작하겠습니다.
: 프로그램의 흐름을 제어(control)하는 것
프로그램에서 사용하는 제어문은 크게 조건문과 반복문이 있습니다.
: 주어진 조건에 따라 다른 수행문이 실행되도록 프로그래밍 하는 것
조건문의 종류에는 if문
if~else문
if~else if~else문
switch~case문
이 있습니다. 이러한 조건문들을 순서대로 살펴보겠습니다.
if (조건식) {
수행문;
}
if (조건식) {
수행문1;
}
else {
수행문2;
}
else
에는 조건식이 붙지 않는다.하나의 경우에 조건이 여러 개에 해당하는 경우에 사용합니다.
if (조건1) {
문장1;
}
else if (조건2) {
문장2;
}
else if (조건3) {
문장3;
}
else {
문장4;
}
else if
는 여러번 쓸 수 있다.간단한 if~else조건문
은 조건 연산자
로 구현할 수 있습니다. 여기서의 조건 연산자
란 삼항 연산자
를 뜻합니다.
ex) if~else 조건문일 때
if (a>b)
max = a;
else
max = b;
ex) 조건 연산자 (삼항 연산자)일 때
max = ( a>b ) ? a: b;
비교해보니 if~else 조건문
보다 훨씬 간결해졌죠?
switch~case문
은 조건식의 결과가 정수 또는 문자열의 값이고 그 값에 따라 수행문이 결정될 때 사용됩니다. switch~case문
은 조건에 대한 값이 간단한 정수값이거나 간단한 문자열, 즉 하나의 값으로 표현할 수 있을 때 사용하면 코드가 if문
보다 간결해 유용하게 쓰일 수 있습니다.
if문
과의 차이점을 봅시다. if문
은 조건식의 결과가 참/거짓
이었습니다. 하지만 switch~case문
은 그와 달리 조건식의 결과가 정수/문자열
이라는 것입니다.
int age = 19;
swtich ( age / 10 ) {
case 0 : System.out.println("어린아이 입니다."); break;
case 1 : System.out.println("10대 입니다."); break;
default : System.out.println("성인입니다."); break;
}
실행 결과
10대 입니다.
특징
if~else if~else문
을 대신하여 switch~case문
을 사용할 수 있다.switch~case문
을 빠져나오는 역할을 하는 break문
을 꼭 사용해주어야 한다. 사용해주지 않으면 그 아래의 값도 전부 대입되거나 출력된다.