자바의 제어문은 일반 프로그래밍 언어와 비슷하게 조건문, 반복문, 분기문으로 이루어져 있다. 제어문은 단어의 의미 그대로 프로그램이 실행되는 도중에 제어하는 기능이다.
조건문
단일 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=a;
}
else
{
cup=b;
}
결과= 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);
}
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문은 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 |