본문으로 바로가기

[JAVA] 제어문 (Control)

category Programming/JAVA 2020. 8. 28. 21:44

제어문이란?


프로그램 흐름을 바꾸는 역할을 하는 문장

 

제어문의 종류


 

1. 조건문

 

if문, if~else문, if~else if , switch~case문

 

2. 반복문

 

while문, do~while문, for문

 

3. 기타(보조 제어문)

 

break, continue 명령어

 

조건문


조건식의 연산결과에 따라 실행할 문장이 달라져서 프로그램의 실행흐름을 변경할 수 있다.

 

if문

 

만일(if) 조건식이 참(true)이면 괄호 {}안의 문장들을 수행하고, 거짓이면 if문을 빠져나온다.

if(조건식){

조건식이 참인 경우 실행문;

}

  • 실행문이 한 줄이면 { }(중괄호) 생략 가능, 하지만 실행문이 두 줄 이상이면 반드시 { }(중괄호) 안에 기재

 

if~else 문

 

조건식이 true이면 조건식이 참인 경우를 실행, 조건식이 false이면 조건식이 거짓인 경우 실행문을 실행하고 if~else문을 빠져나온다.

 

if(조건식){

조건식이 참인 경우 실행문;

} else {

조건식이 거짓인 경우 실행문;

}

 

if~else if 문

 

여러 개의 조건문 중에 맞는 조건에 해당하는 문장을 실행하는 구조.

 

if(조건식1){

조건식 1이 참인 경우 실행문;

}else if(조건식2){

조건식 1이 거짓이고, 조건식 2가 참인 경우 실행문;

}else if(조건식3){

조건식 1, 조건식 2가 거짓이고, 조건식 3이 참인 경우 실행문;

}else{

위의 조건들이 모두 거짓인 경우 실행문;

}

 

switch ~ case 문

 

하나의 조건식으로 많은 경우의 수를 처리할 때 사용한다.

 

switch(조건식 또는 값){

case 값1 : 
실행문;
break;
 
case 값2 : 
실행문;
break;

case 값3:
실행문;
break;

default : // 생략가능
값1 ~ 값3 이외의 값이 들어온 경우 실행문
}

 

switch문 제약조건

  • switch문의 조건식 결과는 정수 또는 문자열이어야 한다.
  • case문의 값은 정수 상수만 가능하며, 중복되지 않아야 한다.

반복문


반복해서 실행할 때 사용한다.

 

while 문

 

조건식이 참인 경우 계속해서 반복 실행문을 실행하고, 조건식이 거짓인 경우에는 반복문을 빠져나온다.

 

while(조건식){

   반복 실행문;

}

  • 반복문의 횟수를 알 수 없는 경우에 많이 사용함
  • 조건식을 생략할 수 없다.

do~while 문

while 문과 똑같이 수행, 하지만 while문은 조건식 결과에 따라 한 번도 수행되지 않을 수 있지만 do~while문은 적어도 한번은 수행한다.

 

do {
   반복 실행문;

} while(조건식);

 

for 문

for(초기화; 조건식; 증감식) {

   반복 실행문;

}

  • 반복문의 횟수를 알고 있는 경우에 사용된다.
  • 초기화, 조건식, 증감식 모두 생략 가능, 조건식이 생략된 경우 참(true)로 간주되어 무한 반복문이 된다.

 

실행순서

  1. 초기화 : 처음에 한번만 실행한다. (변수선언)
  • 둘 이상의 변수가 필요할 때는 콤마(,)로 구분, 변수의 타입은 같아야 한다.
  1. 조건식 : 조건이 참이면 반복, 거짓이면 반복문을 빠져나온다.

  2. 실행문 : 반복 대상인 실행문이 실행된다.

  3. 증감식 : 변수를 대상으로 증가(++) 또는 감소(--)

  • 둘 이상의 증감식이 필요할 때는 콤마(,)로 구분한다.

 

다중 for문

반복문 안에 다른 반복문을 포함하는 문장

 

for(초기식 1; 조건식 1; 증감식 1){ 

     반복 실행문 1; 

     for(초기식 2; 조건식 2; 증감식 2){ 

          반복 실행문 2; 

     } 
}

 

'Programming > JAVA' 카테고리의 다른 글

[JAVA] 연산자 (Operator)  (0) 2020.08.28
[JAVA] 변수(Variable) 란?  (0) 2020.08.28
[JAVA] 자바란?  (0) 2020.08.28