일반적으로 자바는 위에서 아래로 코드를 실행해 나가지만 제어문을 사용하면 조건에 따라 실행 흐름을 변경하거나 중단할 수 있다.
조건문, 반복문, 분기문으로 구분된다.
if
if(조건){
//실행 구문
}
조건은 true 혹은 false가 가능하다. true인 경우 코드 블록을 실행한다. 실행 구문이 한 줄인 경우 중괄호는 생략가능하다.
int a = 1;
if(0 < a){
System.out.println("is printed?");//결과 : 실행 됨
}
if-else
if(조건){
//실행 구문
}
else{
//실행 구문
}
if 의 조건이 실행되지 못했을 경우 else 블록이 실행된다.
if-else if-else
if(조건){
//실행 구문
}
else if(조건){
//실행 구문
}
else if(조건){
//실행 구문
}
else{
//실행 구문
}
else if를 사용해서 여러개의 조건을 사용할 수 있다. if의 조건이 false인 경우 else if문으로 넘어가서 조건을 확인한다. 조건이 true인 경우 코드 블록을 실행한다. else if가 여러개인 경우 다음 else if로 넘어간다.
switch
switch(변수){
case 값1:
//실행 구문
break;
case 값2:
//실행 구문
break;
default:
//실행 구문
break;
}
변수가 어떤 값인지에 따라 다른 실행 구문을 실행한다. case의 실행 구문 마지막에 break로 조건문을 빠져나간다. 만약 break가 없으면 변수와 일치하는 값 이후의 모든 실행문이 실행된다. 일치하는 값이 없다면 default가 실행된다.
JDK7 이전에는 정수 타입의 변수만 올 수 있었지만 JDK7 이후 부터는 문자열 타입의 변수도 가능하다.
for
for(초기화; 조건; 증감;){
//실행 구문
}
초기화 : 변수를 초기화 한다.
조건 : 조건이 참인 경우 반복한다.
증감 : 변수를 증가시키거나 감소시킨다.
변수가 반복 횟수를 알고 있을때 주로 사용한다.
for-each
for(타입 변수명 : 컬렉션){
//실행 구문
}
컬렉션 또는 배열을 순차적으로 탐색한다. 컬렉션에 담긴 항목을 반환한다.
while
while(조건){
//실행 구문
}
조건이 참인 경우 코드 블록을 반복해서 실행한다. 조건 식을 알고 있을때 주로 사용한다.
do while
do{
//실행 구문
}while(조건);
while과 같지만 do의 코드 블록을 먼저 실행한다는 점이 다르다. 조건이 참인 경우 코드 블록을 반복해서 실행한다.
break
제어문을 빠져나갈때 사용한다.
continue
반복문의 다음 루프를 실행한다.
loop
루프명을 지정한다.