JAVA/자바의 정석
[자바의 정석 - 기초편] 4. (1) 조건문 ( if문 / switch문 )
서영22
2023. 11. 24. 23:01
조건문 : 조건을 만족할때만 {} 를 수행 (0~1번) Ex) if문 / switch문
반복문 : 조건을 만족하는 동안 {} 를 수행 (0~n번) Ex) for문 / while문
if문
결과값 : true or false
조건식이 참일 때 {} 수행
if (조건식) {
// 조건식이 참일 때 수행 될 문장들
}
조건식 | 조건식 참일 조건 |
str.equals("yes") | 문자열 str의 내용이 "yes"일 때 (대소문자 구분) |
str.equalsIgnoreCase("yes") | 문자열 str의 내용이 "yes"일 때 (대소문자 구분 X) |
if - else문
조건식이 참일 때와 거짓일 때로 나눠서 처리
if (조건식) {
// 조건식이 참일 때 수행 될 문장들
} else {
// 조건식이 거짓일 때 수행 될 문장들
}
if - else if문
여러개의 조건식을 포함한 조건식
if (조건식1) {
// 조건식1이 참일 때 수행 될 문장들
} else if (조건식 2) {
// 조건식2가 참일 때 수행 될 문장들
} else if (조건식 3) {
// 조건식3이 참일 때 수행 될 문장들
} else { // else 블럭 생략 가능
// 어느 조건식도 만족하지 않을 때 수행될 문장들
}
중첩 if문
if문 안의 if문
if (조건식1) {
// 조건식1이 참일 때 수행 될 문장들
if (조건식 2) {
// 조건식1이 참, 2가 참일 때 수행 될 문장들
} else {
// 조건식1이 참, 2가 거짓일 때 수행 될 문장들
}
} else {
// 조건식1이 거짓일 때 수행 될 문장들
}
Ex)
switch문
결과값 : 정수 or 문자열
처리해야하는 경우의 수가 많을 때 유용
1. 조건식 계산
2. 조건식의 결과와 일치하는 case문으로 이동
3. 이후의 문장들 수행
4. break문이나 switch문의 끝을 만나면 switch문 전체를 빠져나감
switch (조건식) {
case 값1 :
// 조건식의 결과가 값1과 같을 경우 수행될 문장들
// .....
break;
case 값2 :
// 조건식의 결과가 값2과 같을 경우 수행될 문장들
// .....
break; // 만약 case2 진행중일 경우, switch문 벗어남
// ......
default :
// 조건식의 결과와 일치하는 case문이 없을 때 수행될 문장들
// .....
}
switch문의 제약 조건
1. switch문의 조건식 결과는 정수 or 문자열
2. case문의 값은 정수 상수(문자 포함), 문자열만 가능하며, 중복 X
final int ONE = 1;
switch (조건식) {
case '1' : // OK. 문자 리터럴 (= 정수 49)
case ONE : // OK. 정수 상수
case "YES" : // OK. 문자열 리터럴
case num : // 에러. 변수는 불가
case 1.0 : // 에러. 실수는 불가