제어문(Control Statement)
제어문
- 프로그램의 흐름을 제어하기 위한 문법 구조
- 코드의 논리적 흐름관리와 반복 작업의 효율성을 위해서 필요
제어문의 종류
- 조건문(Conditional Statements) : 특정 조건에 따라 코드 실행 여부를 결성
- 반복문(Loops) : 특정 조건이 참일 때 코드 블록을 반복 실행
- 분기문(Branching Statements) : 반복문 또는 조건문 내에서 코드의 흐름 변경
조건문(Conditional Statements)
1. if 문
- 조건식의 결과에 따라 코드 블록을 실행
- 조건식 : true / false 값을 산출 할 수 있는 연산식 또는 boolean 타입 변수가 올 수 있음
if (조건 ) {
// 조건식이 참일 때 실행
}
cf) 실행할 문장이 하나라면 중괄호가 생략 가능함.
2. if - else 문
if (조건식) {
// 조건식이 참(true)일 때 실행될 코드 블록
}
else{
// 조건식이 거짓(false)이 때 실행될 코드 블록
}
- 조건식이 참일 경우 if 블록을 실행하고 거짓일 경우에는 else 블록을 실행
cf) 실행할 문장이 하나라면 중괄호가 생략 가능함.
3. 중첩 if 문
if(조건식 A){
// 조건식 A가 참일 때 실행
if (조건식B) {
// 조건식 A, B 모두 참일 때 실행
} else{
// 조건식 A는 참, B는 거짓일 때 실행
}
} else {
// 조건식 A가 거짓일 때 실행
}
4. if - else if - else 문
if(조건식1){
// 조건식1이 참(true)일 때 실행될 코드 블록
} else if (조건식2) {
// 조건식2이 참(true)일 때 실행될 코드 블록
} else if (조건식3) {
// 조건식3이 참(true)일 때 실행될 코드 블록
} else{
// 모든 조건식이 거짓(false)일 때 실행될 코드 블록
}
- else if 블록은 여러 개가 올 수 있음
- 조건식이 참일 경우 해당 블록의 문장들을 실행하고, 거짓일 경우 다음 조건식을 확인
- 조건식이 참인 경우 해당 블록의 문장을 실행하고 끝, 그 다음 조건식 검사하지 않음
5. if - else if / if - if 문
- if 문에 else if를 함께 사용하는 것은 서로 연관된 경우 사용
- 관련없는 독립 조건이라면 if문을 따로 사용함
if(조건식1){
// 조건식 1이 참(true)일 때 실행될 코드 블록
} else if(조건식2){
// 조건식1이 거짓이고 조건식 2가 참(true)일 때 실행될 코드 블록
}
if(조건식3){
// 조건식 3이 참(true)일 떄 실행될 코드 블록
}
if(조건식4){
// 조건식3과는 상관 없이 조건식 4가 참(true)일 떄 실행될 코드 블록
}
6. switch 문
- 인자로 선택변수를 받아 변수의 값에 따라서 실행 블록이 결정
- 값이 일치하는 case부터 시작해서 break를 만나면 종료
- 일치하는 값이 없다면 default에서 시작
switch(변수){
case 값1:
// 변수의 값이 값1과 일치할 때 실행될 코드 블록
break;
case 값2:
// 변수의 값이 값2과 일치할 때 실행될 코드 블록
break;
default:
// 변수의 값이 모든 case와 일치하지 않을 때 실행될 코드 블록
}
7. switch expression 문
- 표현식을 통해 값을 반환할 수 있음(break 불필요)
- 동일한 case 묶어서 처리
반복문(Loops)
1. for 문
for ( 초기화 ; 조건식 ; 증감식;){
// 반복할 코드블록 작성
}
- 초기화는 반복문이 시작될 때 한번 실행
- 조건식이 false이면, 반복문 종료
- 초기화식 증감식은 (,)를 이용하여 둘 이상을 작성할 수 있음
- 반복횟수를 알고 있을 때 유용하며, 중첩으로 작성할 수 있음
2. while 문
while(조건식){
// 반복할 코드 블록
}
- 조건식이 true일 경우에 계속해서 반복
-> 조건식이 거짓이 될때까지 문장을 반복 수행
- 조건식 생략 불가능
- 반복횟수를 명확히 알 수 없는 경우
3. do-while 문
do {
// 반복할 코드 블록
}while(조건식);
- 블록 내용을 먼저 수행 후 조건식 판단 (최소 한번은 수행)
- 조건식이 true일 경우에 계속해서 반복 / 조건식 생략 불가능
4. break 문
- switch, while, do-while, for 문의 블록에서 빠져나오기 위해서 사용
- 가장 가까운 반복문을 빠져나감
- 중첩된 반복문 구조에서 반복문에 이름(라벨)을 붙여 한번에 빠져 나올 수 있음
5. continue 문
- 현재 반복의 나머지 부분을 건너뛰고 다음 반복으로 감
- 중첩된 반복문에서 이름(라벨)을 붙여 특정 반복을 건너 뛸 수 있음