CHAPTER 4. (1) 제어문이란? (조건문 if 포함)
제어문
- 프로그램의 흐름을 바꾸는 역할을 하는 문장
- 때로 조건에 따라 문장을 건너뛰고, 때로 같은 문장을 반복해서 수행
제어문 종류
ㄴ 조건문 : 조건에 따라 다른 문장이 수행
ㄴ 반복문 : 특정 문장을 반복해서 실행
제어문에는 조건이 필요
= true / false 의 결과를 획득하는 경우만 조건에 들어갈 수 있다
조건문 종류
- if문
- if ~ else문
- if ~ else if ~ else문
if문 조건식
- 비교 연산자 < > >= <= 등...
- 논리 연산자 && || ! 등...
블럭
- 괄호 {}를 이용해서 여러 문장을 하나의 단위로 묶는다
ㄴ특징
- 괄호 {로 시작해서 }로 끝나며, 끝 괄호에 세미콜론;을 붙이지 않음
- 블럭 내 문장은 들여쓰기(indentatioon)를 해주는 것이 좋음
- 블럭 내 문장이 하나뿐일 때는 괄호 생략 가능 (그래도 생략하지 않고 사용하는게 바람직)
if ~ else
- if문의 변형 (else 블럭 추가)
- 조건식의 결과가 참이 아닐때 else 문장 수행
if if과 if ~ else 차이?
ㄴ if if는 2개 조건식 모두 계산해야 하지만, if ~ else 문은 1개만 계산해도 되므로 더 효율적
(if가 false면 else문을 수행하면 됨)
- if ~ else if 조건문 사용시 참고사항
ex.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
package sample;
public class sample1 {
public static void main(String[] args) {
int orderPrice = 0;
if (orderPrice >= 5000000) {
System.out.println("10만원 상품권 지급");
} else if(orderPrice < 5000000 && orderPrice >= 1000000) {
System.out.println("1만원 상품권 지급");
} else if(orderPrice < 1000000 && orderPrice >= 1000000) {
System.out.println("커피쿠폰 지급");
} else {
System.out.println("주차할인권 지급");
}
}
}
|
윗문에서 if문을 지나 else if문으로 내려가는 조건은
if문 조건에 충족되지 않았다는 의미를 포함하고 있기 때문에
굳이 && 조건을 사용해서 중복 확인할 필요가 없다
if ~ else if ~ else
- 처리해야 하는 조건이 셋 이상일 경우
- 결과가 true인 조건식이 하나도 없으면 else 블럭의 문장이 수행됨
중첩 if
- if문 블럭 내에 다른 if문을 포함시키는 것
- 중첩 횟수는 거의 제한이 없음
if문의 단점
- 조건식 결과가 true, false 뿐 // 경우의 수가 많아질 수록 if 추가 (복잡, 처리시간 증가)
ㄴ 그래서 swtich문 사용하기도 함