기타/프로그래밍 분류

JAVA - 7.제어문

zelkova 2011. 6. 28. 13:48

자바의 제어문은 일반 프로그래밍 언어와 비슷하게 조건문, 반복문, 분기문으로 이루어져 있다. 제어문은 단어의 의미 그대로 프로그램이 실행되는 도중에 제어하는 기능이다.

조건문
단일 IF문 , if ~ else문, 다중 if문, 중첩 if문, switch 문

if문
if문은 주어진 조건에 만족할 경우 if문안의 명령을 실행하는 분기문이다.


유형 1
int a=10, b=5;
if ( a > b )  cup=a;

만약 a보다 b가 크다면 cup=1을 넣는다. 틀리다면 if문을 실행하지 않고 넘어간다.

유형2
int a=10, b=5;
if ( a > b ) 
{
  cup=a;
}
결과 = cup에는 a가 들어간다.

유형 1과의 차이점은 괄호가 있고 없고의 차이이다. 조건문을 만족한후에 명령문이 한줄이라면 세미콜론(';')을 사용하면 if문이 종료된다고 인식되지만 여려 문장일경우 if문은 세미콜론(';')까지의 명령문만 실행한다. 따라서 여러문장일 경우는 괄호를 사용해야한다.

if ~else문
단일 if문은 조건식이 참이 아닐경우 if문 다음으로 제어가 옮겨진다. 하지만 if~else문은 조건식 이 거짓이면 else안의 문장을 실행하게 된다.


유형1
int a= 3, b=5;
if(a > b)
{
  cup=a;
}
else
{
  cup=b;
}
결과= cup에는 b가 들어간다.



다중 if문
 단일 if문과 if~else문은 모드 하나의 조건식에 의해서 하위 명령문을 실행 하였지만 다중 if문은 여러개의 조건을 처리할 수 있다.


유형1
int a=7,score;
if (a=10)
System.out.println("A");
else if (a=9)
System.out.println("B");
else if (a=8)
System.out.println("C");
else if (a=7)
System.out.println("D");
else if (a=6)
System.out.println("E");
else (a<6)
System.out.println("F");


중첩 if문
 if문안에 또 다른if문을 사용할 수 있다. 중첩 if문은 단어 그대로if문이 중첩되어 있는 구조를 가지는 문장이다.

int a=7,score;
if(a>5)
{
   if (a=10)
   System.out.println("A");
   else if (a=9)
   System.out.println("B");
   else if (a=8)
   System.out.println("C");
   else if (a=7)
   System.out.println("D");
   else if (a=6)
   System.out.println("E");
   else (a<6)
   System.out.println("F");
}

Switch문 조건식
주어진 식의 결과값이 정수형 데이터로 여러가지 경우의 수가 나올 경우에는 switch문의 사용을 고려할 수 있다.

사용방법
switch(값 또는 식)
{
   case 값:
         명령문;
         break;
   default :
         명령문;
         break;
}

예제)
int a=3;
switch(a)
{
case 1: 
   System.out.println("1입니다");
   break;
case 2: 
   System.out.println("2입니다");
   break;
case 3: 
   System.out.println("3입니다");
   break;
case 4: 
   System.out.println("4입니다.");
   break;
default: 
   System.out.println("5보다 크거나 같은수 입니다.");
   break;
}

결과값 = 3

switch문의 괄호'switch()'에 들어가는 값으로는 아래와 같다.
정수값 
switch(3)

문자형 값
switch('a")

정수형 변수
int a= 3;
switch(a)

문자형 변수
char ch='a';
switch(ch)

결과값을 도출하는 수식
int a=3, b=5;
switch(a+b)


반복문
while문, do~while문, for문

while문
프로그램을 구현할때 같은 명령문을 여러번 반복해서 수행할 경우에는 반복문을 사용하게 된다. 반복문 중 첫 번째로 while문에 대해 살펴보자.


형식
while (조건)
{
   반복할 명령문
}

ex)
int a=0;
while(a>4)
{
   a++;
   System.out.println(a);
}

do while문
do~ while문은 예약어 뒤의 조건식이 참일 경우에 do문의 하위 명령문들을 수행한다. 즉 조건식이 do문 뒤에 있으므로 적어도 한번은 do 문의 하위 명령문을 수행한 뒤 조건의 참, 거짓을 비교하게 된다. 즉 조건이 거짓이라도 명령문을 한번 실행하고 빠져 나온다는 것.


형식
do
{
   명령문;
}while(조건식);

ex)
int a=0;
do
{
  System.out.println(a);
}while(a>3);


for문
자바의 반복문중 가장 많이 사용하는 for문은 while문과 do while문과 명령문의 반복을 위해 제공되지만 그 형태 앞의 두 반복문에 비해 조금은더 복잡할 수 있다. 아래를 통해서 숙지해 보자.


형식
for( 초기식 ; 조건식 ; 변화식 )
{
   명령문
}

for문의 순서는 초기식 -> 조건식 ->명령문 -> 변화식 -> 조건식 의 순서대로 움직인다. 
처음에 초기식을 겨쳐서 조건식을 비교해서 참이면 
조건식 -> 명령문 -> 변화식 -> 조건식 이 순서를 거짓이 될때까지 무한 반복하게 된다.

초기식은 처음에 한번만설정되며 반복되지 않는다는 점을 주의 하면 어렵지 않을 것이다.

ex)
for(int a=0; i < 40; a++)
{
    System.out.println(a);
}
 

분기문
break문, continue문

break문
break문을 만나는 순간 해당 반복문의 중괄호 블록을 빠져나간다.

continue
continue문은 break문과 정 반대의 기능을 한다. 반복문에서 continue를 쓴다면 continue아래의 문장은 실행되지 않고 곧바로 조건을 비교한다.

반응형

'기타 > 프로그래밍 분류' 카테고리의 다른 글

JAVA - 9.주석  (0) 2011.06.28
JAVA - 8.함수  (0) 2011.06.28
JAVA - 6.배열  (0) 2011.06.28
JAVA - 연산자  (0) 2011.06.27
JAVA - 4.자바프로그램의 구조와 식별자  (0) 2011.06.26