Java
조건문(if, switch)
레이코딩
2022. 9. 16. 21:56
출처 - Java의 정석 (남궁 성)
1. 제어문(flow control statement)
- 조건문(if, switch)은 조건을 만족할 때만 괄호 {} 수행 (0~1번)
- 반복문(for, while)은 조건을 만족하는 동안 괄호 {} 수행 (0~n번)
2. if문
- 만일(if) 조건식이 참(true)이면 괄호 {} 안의 문장들 수행
- 블럭 {} 내 문장이 하나일 때는 {} 생략 가능
if (조건식) {
// 조건식이 true 일 때 수행될 문장들
}
3. if-else문
- 조건식이 참(true)일 때와 거짓(false)일 때로 나누어 수행
if (조건식) {
// 조건식이 true 일 때 수행될 문장들
} else {
// 조건식이 false 일 때 수행될 문장들
}
4. if-else if문
- 경우의 수가 셋 이상인 경우
- 여러 개의 else if 사용 가능
if (조건식1) {
// 조건식1의 연산결과가 true 일 때 수행될 문장들
} else if (조건식2) {
// 조건식2의 연산결과가 true 일 때 수행될 문장들
} else if (조건식3) {
// 조건식3의 연산결과가 true일 때 수행될 문장들
} else { // else 생략 가능
// 어느 조건식도 만족하지 않을 때 수행될 문장들
}
5. 중첩 if문
- if문의 블럭 내에 또 다른 if문 포함
- 중첩 횟수제한 없음
if (조건식1) {
// 조건식1의 연산결과가 true 일 때 수행될 문장들
if (조건식 2) {
// 조건식1과 조건식2가 모두 true 일 때 수행될 문장들
} else {
// 조건식1이 true 이고, 조건식 2가 false 일 때 수행될 문장들
}
} else {
// 조건식1이 false 일 때 수행될 문장들
}
6. switch문의 제약조건
- switch문의 조건식 결과는 정수 또는 문자열
- case문의 값은 정수 상수(문자 포함), 문자열만 가능, 중복 불가
- case문은 한 줄에 하나씩 쓰든, 한 줄에 붙여서 쓰든 상관없음
switch (조건식) {
case 값1:
// 조건식의 결과가 값1과 같을 경우 수행될 문장들
break;
case 값2:
// 조건식의 결과가 값2와 같을 경우 수행될 문장들
break; // swich문을 벗어난다.
default:
// 조건식의 결과와 일치하는 case문이 없을 때 수행될 문장들
}
7. 임의의 정수(난수) Math.random()
- 0.0과 1.0 사이의 범위에 속하는 하나의 double값을 반환 (0.0 <= Math.random() < 1.0)
- 원하는 개별 값의 갯수 (*n)
- 형변환 (int)
- 범위 바꾸기 (+), (-)
0.0*3 <= Math.random()*3 < 1.0*3
(int)0.0 <= (int)(Math.random()*3) < (int)3.0
1 <= (int)(Math.random()*3)+1 < 4