제어문
: 프로그램의 코드 실행 흐름을 제어하는 구문(위->아래)
: 조건, 반복, 분기 등을 통해 흐름을 제어
■ 조건문 : if, switch
■ 반복문 : for, 향상된for, while, dowhile
■ 분기문 : continue, break, goto
● if
: 조건을 제시한 뒤 만족하거나 불만족할 때의 코드를 분기하는 제어문
: 조건은 반드시 boolean
: if~elseif~else 구간 중 만족하는 조건이 있다면 블럭을 실행하고 if문을 끝낸다.
: if문은 중첩으로 사용 가능하다 : 제어문 중첩
if(조건식)
{
~~
if(조건식)
{
~~
} else
{
~~
}
} else if(조건식)
{
~~
} else
{
~~
}
● switch
: switch case문, 조건 1개를 갖고 제어를 분기
switch (조건값)
{
case 값1: // label
실행문;
break;
case 값2:
실행문;
break;
default: // else와 같다.
실행문;
break;
}
switch (조건값)
{
case 값1
case 값2:
실행문;
break;
} // 값1, 값2 둘다 같은 블럭을 실행한다. (break가 없어서 가능한 경우)
● for
: 특정 실행 코드 블럭을 원하는 횟수만큼 반복 제어
for(초기식; 조건식; 증감식;)
{
실행문;
}
● 향상된 for문
for (variable ele : locationEle) {} //locationEle : 배열 또는 컬렉션
1 2 3 4 5 6 7 | int [] n = new int [] { 40 , 20 , 10 , 50 , 30 , 60 , 35 , 41 , 23 , 78 } ;
for ( int i : n) {
System.out.println(i);
}
|
다음처럼 배열을 직접 선언하여 사용하기도 한다.
1 | for (String i : new String[] { "+" , "-" , "*" , "/" })
|
● while
1 2 3 4 5 6 | int n= 1 ;
while (n < 11 )
{
System.out.println(n);
++n;
}
|
● do while
1 2 3 4 5 6 7 | int n = 1 ;
do
{
System.out.println(n);
++n;
}
while (n<= 10 );
|
● continue, break
break : 현재 자신이 속한 제어문을 탈출
1 2 3 4 5 6 7 8 | for ( int i= 1 ; i< 11 ; i++)
{
if (i== 5 )
{
break ;
}
System.out.println(i);
}
|
continue : 현재 자신이 속한 제어문(if문X) 처음으로 되돌아감
1 2 3 4 5 6 7 8 | for ( int i= 1 ; i< 11 ; i++)
{
if (i== 5 )
{
continue ;
}
System.out.println(i);
}
|
이름 있는 반복문에서 continue
1 2 3 4 5 6 7 8 9 10 11 | loop: for ( int i= 0 ; i< 10 ; i++)
{
System.out.println( "x = " + i);
for ( int j= 0 ; j< 10 ; j++)
{
System.out.println( "j = " + j);
if (j>= 5 )
continue loop;
}
}
|