대게 프로그램에서 각 문장들은 위에서 아래로 순차적으로 실행된다. 이 때 제어문(Control Statement)을 사용하여 각 문장들의 실행 순서를 변경할 수 있다. 아래는 프로그램에서 나타나는 3가지의 제어 구조이다.



< 순차 구조 >


◆ ─> 『문장 A』 ─> 『문장 B』 ─> 




< 선택 구조 >


   ┌  true ─> 『문장 A』 ─┐

 ─> 【조건식】  ┤         

   └ false ─> 『문장 B』 ─┘




반복 구조 >


        ┌ false ───> 

 ┬> 【조건식】 ─ true ─> 『문장 A』 ┐

  └─<




제어문은 크게 조건문과 반복문으로 나뉘어 진다. 조건식의 산출값은 true 나 false 가 나오게 해야 한다.



▶ 조건문 : 조건에 따라 여러 개의 실행문(실행 경로) 중 하나(특정 경로)를 선택해야 하는 경우


1. if 문


# 기본 형태


if ( 조건식 )

문장1; // 조건식이 true 면 실행



# 조건에 따라 두 개 이상의 문장이 실행되어야 할 경우


if ( 조건식 ) {

문장1; // 조건식이 true 면 실행

문장2;
문장3;
}


# 중첩 if 문


if ( 조건식1 )
if ( 조건식2 ) // 조건식1이 true 면 실행 

문장1; // 조건식2가 true 면 실행



if ( 조건식1 ) {
if ( 조건식2 ) { // 조건식1이 true 면 실행

문장1; // 조건식2가 true 면 실행

문장2;

if ( 조건식3 ) { 

문장3; // 조건식3이 true 면 실행

}

}

}


2. if-else 문


# 기본 형태


if ( 조건식 )

문장1; // 조건식이 true 면 실행

else

문장2; // 조건식이 false 면 실행



# 조건에 따라 두 개 이상의 문장이 실행되어야 할 경우 - 복합문(Compound Statement)


if ( 조건식 ) {

문장 1; // 조건식이 true 면 실행

문장 2; // 이러한 문장 그룹핑을 복합문 또는 블록(block)이라고 한다.

}

else {

문장 3; // 조건식이 false 면 실행

문장 4;
}


# 간단한 조건문일 경우 조건 연산자로도 표현이 가능하다.


System.out.println( x > 50 ? "x = 50" : "x != 50");


# 중첩 if-else 문


if ( 조건식1 ) {

문장 1; // 조건식1이 true 면 실행


if ( 조건식2 ) {

문장 2; // 조건식2가 true 면 실행

문장 3;

}

else {

문장 4; // 조건식2가 false 면 실행

문장 5;
}

}

else {

문장 3; // 조건식1이 false 면 실행

문장 7;
}


3. switch 문


# switch 문은 여러 개의 실행문 중 해당 조건에 맞는 실행문을 선택한다.


# 기본 형태


number = 5;


switch( number ) { // switch 안의 괄호(수식)는 문자나 문자열도 가능하다.

case 1 :

문장1;

break; // break; 문장은 빠져나가는 것으로 없을 경우 아래의 case 도 실행된다.

case 2 :

문장2;

continue; // continue; 문장은 다시 switch(수식) 문으로 돌아가는 것으로 break; 문장과는 다르다.

case 3 :

문장3;

break;

default : // switch 안에 수식의 결과가 어떤 case 문에도 해당되지 않는 경우에 실행된다. 

문장4; // 예상치 못한 결과에 대비하여 default문은 작성하는 것이 좋다. (작성 여부는 자유)

break;




▶ 반복문 : 어떤 조건이 유지되거나 정해진 횟수만큼 문장을 반복(Looping)해야 하는 경우


1. while 문


# 조건식이 참이면 블록을 반복적으로 실행한다.


while ( 조건식 ) {

반복문장;

}


# 무한 루프


while (true) {

문장1;

문장2;

문장3;

}



2. do-while 문


# 문장을 우선 실행한 뒤에 조건식을 검사한다.


# 기본 형태 - 끝에 세미콜론(;) 필수.


do {

반복문장1; // 처음에는 무조건 실행!

} while ( 조건식 );



3. for 문


# 정해진 횟수만큼 반복할 때 사용된다.


# 기본 형태

 - 초기식 → 조건식 ─ true → 문장1; → 문장2; → 증감식 → 조건식 ─ true → 문장1; → 문장2; → 증감식 

→ 조건식 ─ false → 반복문 종료


for ( 초기식(1) ; 조건식(2) ; 증감식(5) ) { // 괄호 안은 처음 루프돌 때 순서입니다.

문장1;  (3)

문장2;  (4)

}


# 예제


for ( int i = 0; i < 5; i++ ) {

System.out.println(" i 의 값은 : "+ i);

}


# 무한 루프


for ( ; ; ) {

문장1;

문장2;

}

+ Recent posts