| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 백엔드 코딩
- 자료구조강의추천
- 문돌이
- 코딩입문
- thread
- 개발자
- 데이터베이스기초
- C포인터
- 코딩독학방법
- lamda
- java8
- 람다
- 자바자료구조
- 백엔드 개발 코딩 강의
- RFC
- CodeCommit
- Stream
- 정규식
- CodeLatte
- 코드라떼
- 안드로이드
- 백엔드 강의
- 자바
- 데이터베이스강의
- 오류제어
- 자바8
- Android
- java
- 스트림
- 스타트업
- Today
- Total
이병록의 개발 블로그
[코드라떼] 자바 프로그래밍 - 조건문 본문
목차
- 조건식과 논리 연산자
- 조건문
- if 문
- switch 문
- [실습해보기] 조건문을 사용해보자
- 삼항 연산자
ㅤ
1. 조건식과 논리 연산자
참 또는 거짓을 반환하는 조건식을 작성하려면 기본적으로 [논리 연산자]에 대해서 알아야 합니다.
논리 연산자는 좌 -> 우로 연산을 하며 참인지 거짓인지 판단합니다. 다만 괄호가 있으면 괄호에 있는 것을 먼저 연산을 합니다.

가장 앞의 true와 false를 OR 연산을 하고 연산의 결과 값과, 그 다음 true와 OR 연산을 하여 true의 값을 반환합니다.

특별한 경우로 AND 연산의 경우 연산자 기준 좌측의 값이 false인 경우는 우측에 있는 값을 확인하지 않습니다. 그 이유는 우측에 있는 값과 상관없이 항상 결과 값은 false이므로 빠른 연산을 위해 생략합니다.

예시로 age 변수가 30인지 동등 비교 연산자를 이용하여 결과값을 확인한 후 false 이면 우측에 있는 weight == 20 연산을 하여 true인지 false인지 확인하지 않고 바로 false를 반환합니다.

연산자 우선 순위에 의해 괄호의 식을 먼저 확인합니다. false && true 연산 시 앞의 값이 false 이므로 바로 false를 반환하고 true와 false를 OR 연산하여 true를 반환합니다.
ㅤ
2. 조건문
조건문은 조건식이 참(true)일 때 실행하는 분기 구문으로 프로그램의 실행 흐름을 조건에 따라 실행하거나 또는 실행하지 않도록 할 수 있는 구문입니다.
이러한 조건문에는 if문과 switch문이 있으며 조건은 항상 위에서부터 아래로 체크합니다.
ㅤ
3. if 문
if 문은 가장 위에 있는 조건식부터 순차적으로 확인하여 ‘참’인 조건식을 만나면 조건문 내부에 있는 코드를 실행 후 조건문을 탈출합니다.if, else if, else 세 가지 키워드를 사용하거나 생략하는 방식으로 실행흐름을 제어할 수 있습니다.
ㅤ
if 구문의 다양한 예시
if - else if - else
if (참 or 거짓) {
// 참이면 실행 후 조건문 탈출
} else if (참 or 거짓) {
// 참이면 실행 후 조건문 탈출
} else {
// 두 조건이 다 거짓이면 실행 후 탈출
}
- 첫 번째 조건식이 참이면 첫 번째 조건문 내부에 있는 코드를 실행 후 탈출합니다. 그러나 거짓이면 그 다음 조건식을 확인합니다.
- 두 번째 조건식이 참이면 두 번째 조건문 내부에 있는 코드를 실행 후 탈출합니다. 그러나 거짓이면 그 다음 조건식을 확인합니다.
- 두 조건이 모두 거짓인 경우 else 내부에 있는 코드를 실행 후 탈출합니다.
if - else
if (참 or 거짓) {
// 참이면 실행 후 조건문 탈출
} else {
// 조건이 거짓이면 실행 후 탈출
}
- 첫 번째 조건식이 참이면 첫 번째 조건문 내부에 있는 코드를 실행 후 탈출합니다. 그러나 거짓이면 그 다음 조건식을 확인합니다.
- 조건이 거짓인 경우 else 내부에 있는 코드를 실행 후 탈출합니다.
if
if (참 or 거짓) {
// 참이면 실행 후 조건문 탈출
}
- 첫 번째 조건식이 참이면 첫 번째 조건문 내부에 있는 코드를 실행 후 탈출합니다. 그러나 거짓이면 조건문을 탈출합니다.
if - else if - else if - else
if (참 or 거짓) {
// 참이면 실행 후 조건문 탈출
} else if (참 or 거짓) {
// 참이면 실행 후 조건문 탈출
} else if (참 or 거짓) {
// 참이면 실행 후 조건문 탈출
} else {
// 세 조건이 다 거짓이면 실행 후 탈출
}
- 첫 번째 조건식이 참이면 첫 번째 조건문 내부에 있는 코드를 실행 후 탈출합니다. 그러나 거짓이면 그 다음 조건식을 확인합니다.
- 두 번째 조건식이 참이면 두 번째 조건문 내부에 있는 코드를 실행 후 탈출합니다. 그러나 거짓이면 그 다음 조건식을 확인합니다.
- 세 번째 조건식이 참이면 세 번째 조건문 내부에 있는 코드를 실행 후 탈출합니다. 그러나 거짓이면 그 다음 조건식을 확인합니다.
- 세 조건이 모두 거짓인 경우 else 내부에 있는 코드를 실행 후 탈출합니다.
NOTE! else if의 개수는 제한이 없습니다.
if - else if - else if
if (참 or 거짓) {
// 참이면 실행 후 조건문 탈출
} else if (참 or 거짓) {
// 참이면 실행 후 조건문 탈출
} else if (참 or 거짓) {
// 참이면 실행 후 조건문 탈출
}
- 첫 번째 조건식이 참이면 첫 번째 조건문 내부에 있는 코드를 실행 후 탈출합니다. 그러나 거짓이면 그 다음 조건식을 확인합니다.
- 두 번째 조건식이 참이면 두 번째 조건문 내부에 있는 코드를 실행 후 탈출합니다. 그러나 거짓이면 그 다음 조건식을 확인합니다.
- 세 번째 조건식이 참이면 세 번째 조건문 내부에 있는 코드를 실행 후 탈출합니다. 거짓이어도 조건문을 탈출합니다.
NOTE! else if의 개수는 제한이 없습니다.
int age = 40;
if (60 <= age) {
// age가 40이므로 패스
} else if (50 <= age) {
// age가 40이므로 패스
}
// 밑에 있는 구문을 실행함
이렇게 조건문은 if와 else if, else를 이용하여 프로그램의 실행 흐름을 다양하게 제어할 수 있습니다.
4. switch 문
switch문은 조건값에 따라 특정 case부터 실행할 수 있도록 하는 구문입니다. 책의 라벨이라고 생각하면 쉽습니다. switch 문은 특정 case부터 아래로 내려가며 코드를 실행하되 break 키워드를 만나면 switch 문을 탈출합니다.
ㅤ
조건값으로 올 수 있는 것들
- char
- byte
- short
- int
- Character
- Byte
- Short
- Integer
- String
- enum
*Character, Byte, Short, Integer, String, enum은 이후에 배웁니다.
ㅤ
switch 구문의 다양한 예시
break 키워드 없는 switch 구문
switch (조건값) {
case 값1 :
// 조건값이 '값1'이면 해당 위치 부터 실행 후 아래의 case로 진행
case 값2 :
// 조건값이 '값2'이면 해당 위치 부터 실행 후 아래의 case로 진행
case 값3 :
// 조건값이 '값3'이면 해당 위치 부터 실행 후 아래의 case로 진행
default:
}
- 만약에 조건값이 '값1'이면
- case 값1 -> case 값2 -> case 값3 -> defalult 순으로 실행됩니다.
- 만약에 조건값이 '값2'이면
- case 값2 -> case 값3 -> defalult 순으로 실행됩니다.
- 만약에 조건값이 '값3'이면
- case 값3 -> defalult 순으로 실행됩니다.
- switch 문을 탈출하지 않는 이상 default는 맨 마지막에 실행됩니다.
break 키워드 있는 switch 구문 1
switch (조건값) {
case 값1 :
// 조건값이 '값1'이면 해당 위치 부터 실행 후 탈출
break;
case 값2 :
// 조건값이 '값2'이면 해당 위치 부터 실행 후 아래의 case로 진행
case 값3 :
// 조건값이 '값3'이면 해당 위치 부터 실행 후 아래의 case로 진행
default:
}
- 만약에 조건값이 '값1'이면
- case 값1 을 실행 후 break문을 만나 switch 문을 탈출합니다.
- 만약에 조건값이 '값2'이면
- case 값2 -> case 값3 -> defalult 순으로 실행됩니다.
- 만약에 조건값이 '값3'이면
- case 값3 -> defalult 순으로 실행됩니다.
- switch 문을 탈출하지 않는 이상 default는 맨 마지막에 실행됩니다.
break 키워드 있는 switch 구문 2
switch (조건값) {
case 값1 :
// 조건값이 '값1'이면 해당 위치 부터 실행 후 탈출
break;
case 값2 :
// 조건값이 '값2'이면 해당 위치 부터 실행 후 아래의 case로 진행
case 값3 :
// 조건값이 '값3'이면 해당 위치 부터 실행 후 탈출
break;
default:
}
- 만약에 조건값이 '값1'이면
- case 값1 을 실행 후 break문을 만나 switch 문을 탈출합니다.
- 만약에 조건값이 '값2'이면
- case 값2 -> case 값3 순으로 실행됩니다.
- 만약에 조건값이 '값3'이면
- case 값3 을 실행 후 break문을 만나 switch 문을 탈출합니다.
- switch 문을 탈출하지 않는 이상 default는 맨 마지막에 실행됩니다.
break 키워드 있는 switch 구문 3
switch (조건값) {
case 값1 :
// 조건값이 '값1'이면 해당 위치 부터 실행 후 탈출
break;
case 값2 :
// 조건값이 '값2'이면 해당 위치 부터 실행 후 탈출
break;
case 값3 :
// 조건값이 '값3'이면 해당 위치 부터 실행 후 탈출
break;
default:
}
- 만약에 조건값이 '값1'이면
- case 값1 을 실행 후 break문을 만나 switch 문을 탈출합니다.
- 만약에 조건값이 '값2'이면
- case 값2 을 실행 후 break문을 만나 switch 문을 탈출합니다.
- 만약에 조건값이 '값3'이면
- case 값3 을 실행 후 break문을 만나 switch 문을 탈출합니다.
- switch 문을 탈출하지 않는 이상 default는 맨 마지막에 실행됩니다.
default 키워드 없는 switch 구문
switch (조건값) {
case 값1 :
// 조건값이 '값1'이면 해당 위치 부터 실행 후 탈출
break;
case 값2 :
// 조건값이 '값2'이면 해당 위치 부터 실행 후 탈출
break;
case 값3 :
// 조건값이 '값3'이면 해당 위치 부터 실행 후 탈출
break;
}
- 만약에 조건값이 '값1'이면
- case 값1 을 실행 후 break문을 만나 switch 문을 탈출합니다.
- 만약에 조건값이 '값2'이면
- case 값2 을 실행 후 break문을 만나 switch 문을 탈출합니다.
- 만약에 조건값이 '값3'이면
- case 값3 을 실행 후 break문을 만나 switch 문을 탈출합니다.
ㅤ
5. [실습해보기] 조건문을 사용해보자
실습도구에 해당 코드를 작성해 봅시다
ㅤ
if 조건문
ㅤ
case 1
코드 작성
int num = 65;
char alphabet;
if (65 == num) {
alphabet = 'A';
} else if (66 == num) {
alphabet = 'B';
} else if (67 == num) {
alphabet = 'C';
} else {
alphabet = '0';
}
System.out.println(alphabet);
출력
A
ㅤ
case 2
코드 작성
char locationPrefix = 's';
String location = "어딘지모름";
if ('k' == locationPrefix) {
location = "강남";
} else if ('s' == locationPrefix) {
location = "수원";
}
System.out.println(location);
출력
수원
ㅤ
case 3
코드 작성
boolean isToday = true;
if (isToday) {
System.out.print("오늘 ");
}
System.out.println("뭐할까?");
출력
오늘 뭐할까?
ㅤ
switch 문
ㅤ
case 1
코드 작성
int category = 1;
switch (category) {
case 1:
System.out.println(1);
case 2:
System.out.println(2);
case 3:
System.out.println(3);
}
출력
1
2
3
ㅤ
case 2
코드 작성
int category = 1;
switch (category) {
case 1:
System.out.println(1);
case 2:
System.out.println(2);
break;
case 3:
System.out.println(3);
}
출력
1
2
ㅤ
case 3
코드 작성
int category = 2;
switch (category) {
case 1:
System.out.println(1);
break;
case 2:
System.out.println(2);
break;
case 3:
System.out.println(3);
break;
}
출력
2
ㅤ
case 4
코드 작성
int category = 4;
switch (category) {
case 1:
System.out.println(1);
break;
case 2:
System.out.println(2);
break;
case 3:
System.out.println(3);
break;
default:
System.out.println("기본");
}
출력
기본
ㅤ
6. 삼항 연산자
삼항 연산자는 if 문을 만들 수 있는 또 다른 방법을 제공합니다.
자료형 변수명 = (조건식) ? 참인 경우 : 거짓인 경우;
예시로 작성해보면 다음과 같습니다.
int num = 65;
char alphabet = (65 == num) ? 'A' : 'B';
조건식이 참인 경우 ‘A’의 값을 반환하고 거짓인 경우는 ‘B’의 값을 반환하며, 반환된 값은 char alphabet 변수에 저장됩니다.
int num = 65;
char alphabet = (65 == num) ? 'A' : (66 == num) ? 'B' : (67 == num) ? 'C' : '0';
삼항 연산자를 연결해서 사용할 수도 있습니다.
삼항 연산자는 특정 상황에서 조건문을 좀 더 간소하게 보여줄 수 있으나, 조건이 많아지면 오히려 코드의 가독성이 떨어지는 문제를 가지고 있습니다.
현업에서는 조건식이 하나인 경우일 때만 사용하는 것이 좋습니다.
boolean isReady = true;
int category = (isReady) ? 1 : 0; // 조건식이 하나일 때만 사용하는 것이 좋다
'자바 프로그래밍 강의' 카테고리의 다른 글
| [코드라떼] 자바 프로그래밍 - 스코프 (0) | 2026.01.31 |
|---|---|
| [코드라떼] 자바 프로그래밍 - 반복문 (0) | 2026.01.31 |
| [코드라떼] 자바 프로그래밍 - 연산자 (0) | 2026.01.31 |
| [코드라떼] 자바 프로그래밍 - [심화] 다차원 배열 (0) | 2026.01.31 |
| [코드라떼] 자바 프로그래밍 - 배열 (0) | 2026.01.31 |
