자바의 제어문인 조건문, 반복문 중 조건문 if-else, switch-case 에 대해 알아봅니다.
제어문
프로그램은 위에서 아래 ↓, 왼쪽에서 오른쪽 → 방향으로 진행합니다.
이런 프로그램의 흐름을 변경하기 위해 사용하는 것이 제어문입니다.
조건문
비교 또는 판단을 boolean(true/false) 값으로 체크합니다.
비교연산자 <, >, <=, >=, ==, != 또는 논리연산자 &&, || 를 사용합니다.
if-else, switch-case 문
if 조건문 if-else
어떤 조건이 참(true)일 경우에 특정 로직을 실행합니다.
조건식에는 최종 결과값이 boolean(true/false) 만 가능합니다.
1형식
if (isAdmin) {
// isAdmin == true 이면 실행
}
어떤 조건이 true이면 A를 실행하고, false일 경우에 실행할 B를 else 구문을 통해 정의할 수 있습니다.
❗else에는 조건식이 없습니다.
2형식
if (isAdmin) {
// isAdmin == true일 경우 실행
} else {
// isAdmin == false일 경우 실행
}
경우의 수가 3개 이상일 경우에는 아래와 같이 정의합니다.
3형식
if (age < 10) {
} else if (age < 19) {
} else {
}
if-else 구문에서는 조건들 중 먼저 만족하는 하나의 구문을 실행하고 빠져나옵니다.
if (A) {
// 로직1
} else if (B) {
// 로직2
} else if (C) {
// 로직3
} else {
// 로직4
}
위와 같은 if-else 구문에서, A 조건에 만족한다면 로직1을 실행하고 B, C 조건문은 판단하지 않고 로직2, 로직3, 로직4를 실행하지 않은 채 if-else 구문 자체를 빠져나오게 됩니다.
마찬가지로 A 조건에 만족하지 않고 B 조건에 만족한다면, 로직2를 실행 후 로직3, 로직4를 건너뜁니다.
A 조건에 만족하지 않고 B 조건에 만족한다면 'A가 아니고 B이다' 라는 의미가 됩니다.
A, B, C 조건에 모두 만족하지 않아 마지막 else 문에 진입하게 된다면 'A, B, C 모두 아니다' 라는 의미죠.
if (age < 10) {
// age < 10
} else if (age < 19) {
// age >= 10 && age < 19
} else {
// age >= 19
}
switch 조건문 switch-case
만약 하나의 변수를 여러 값과 비교하는 경우는 어떨까요?
아래와 같이 무한 if-else 문을 작성해야 할 것입니다.
if (type == 'A') {
} else if (type == 'U') {
} else if (type == 'S') {
} ...
이럴때 편리하게 사용할 수 있는 조건문이 바로 switch-case 문입니다.
switch는 비교 대상인 조건값을 작성하고, 비교할 값을 case 키워드로 구분하여 작성합니다.
각 case 문이 끝나면 break; 키워드로 switch 문을 빠져나갑니다.
참인 case 문이 없다면 default 문을 실행합니다.
조건값에는 특정한 데이터 타입만 선언할 수 있는데요.
정수형(byte, short, int)과 문자형(char)만 가능하고 long, String, boolean, 실수형(float, double)은 불가능합니다.
위의 if-else문을 switch-case문으로 구현하면 아래와 같습니다.
switch (type) {
case 'A' :
break;
case 'U' :
break;
case 'S' :
break;
default :
}
'Language > JAVA' 카테고리의 다른 글
[JAVA] 배열(array), 다차원배열(nested array)과 특징 (1) | 2024.03.26 |
---|---|
[JAVA] 제어문 (2) - 반복문 for, for-each, while, do-while (2) | 2024.03.25 |
[JAVA] 간단한 Hello World 프로젝트 만들기 with IntelliJ (15) | 2024.03.23 |
[JAVA] 데이터 타입(Date Type), 상수(Constance)와 리터럴(Literal) (23) | 2024.03.22 |
[JAVA] 값(value)과 변수(variable) (22) | 2024.03.20 |