제어구문
- 문장의 흐름에 따라서 순차형, 선택형, 반복형
1. 조건문 (Conditional Statements)
① if문
- if문, if~else문, if~else if문
if(조건은 true / false 로 리턴되는 연산식이나 메소드 호출문) {
조건이 만족하는 경우 실행될 문장
} else{
조건이 만족하지 않는 경우 실행될 문장}
② switch문 (Loop Statements)
- if else if문을 대신할 수 있도록 만들어진 제어구문
- 다중분기
- 단일값으로 평가할 수 있는 변수나 식이나 메소드 호출문을 명시
- switch()안에서 발생한 값들이 case문의 값과 일치하면 실행된다.
- case문에는 >, >=, <, <=와 같은 비교연산자를 사용할 수 없다.
- 정확하게 일치하는 값만 비교
- 모든 case문을 실행하므로 각 case문에 break문을 정의해서 평가한 후 switch블럭을 빠져나가도록 처리
- if문의 else와 같은 역할을 하는 default문을 추가
- switch내부에 조건을 평가하기 위한 변수는 int로 자동캐스팅되는 타입(byte, short, int, char)과 String타입만 가능하다.
// case 2:
case 4:
명령문 해서 할 수도 있음
// default는 마지막이라 break문 필요없음
2. 반복문
① for문
for(초기식; 조건식; 증감식) {
반복할 문장;
}
② while문
while(조건식){
조건이 만족할 동안 수행할 문장;
}
while(true){
if(조건식){
break;
}
}
③ do~while문
- do~while문의 특징은 무조건 한 번은 실행된다.
do{
조건이 만족할 동안 수행할 문장;
}while(조건식);
3. 분기문 (Branching Statments)
① break문
- 조건문이나 반복문에서 사용되며 만나는 즉시 중단하고 해당 블록을 벗어납니다.
② continue문
- 반복문의 현재 반복을 중단하고 다음 반복으로 넘어갑니다.
③ return문
- 메소드에서 값을 반환하거나 메소드의 실행을 중단하고 호출한 곳으로 돌아갑니다.
4. 예외처리문 (Exception Handling Statements)
① try-catch문
- 예외가 발생할 수 있는 코드 블록(try)을 시도하고, 예외가 발생한 경우에 대한 처리를 담당하는 코드 블록(catch)을 실행합니다.
② finally문
- 예외의 발생 여부와 상관없이 항상 실행되는 코드 블록입니다.