의견.png

제어문

위키원
dltmdgns (토론 | 기여)님의 2021년 7월 6일 (화) 14:53 판 (break)
이동: 둘러보기, 검색

제어문(control flow statements)은 프로그램의 흐름을 제어하는 경우에 사용하는 실행문으로, 조건문, 반복문, 분기문 등이 포함되어 있다.

조건문

조건문은 말 그대로 어떠한 조건에 참(true)인지 거짓(false)인지에 따라 결과가 달라져 나오는 명령문이다. 조건문 안에서도 if문과 switch문으로 나눌 수 있다. if문에서도 {if, else if, else} 로 구성되어 있고, switch문은 {switch, case, default, break} 로 구성되어 있다. if문과 switch문은 둘다 조건문이지만 사용법과 구조가 자체가 다르다.


if

if문은 조건식 결과에 따라서 명령문 실행 여부가 결정된는데, 조건식에는 참(true) 또는 거짓(false)의 값을 산출할 수 있는 연산식이나 boolean타입이 올 수 있다.[1]

if(조건식){
   System.out.println("조건식이 참일 경우 실행");
 }

if문의 조건식이 참(true)이면 if문의 명령문이 실행되고, 조건식이 거짓(false)이면 명령문의 false인 else구문에서 실행된며 전체 if문에 벗어난다.

if(조건식){
  조건식이 참일 경우 이곳에서 실행;
}else{
  조건식이 거짓일 경우 조건식의 false인 이곳에서 실행
}

조건식이 하나가 아닌 여러 개인 if문도 있다. if문 블록끝에 else if문을 붙히면 되는데, else if문의 수는 제한이 없고 여러개의 조건식 중 참(true)인 조건식에만 실행되고 전체if문을 벗어나온다. 마지막에는 else문을 추가하는데 else문은 위에 if-else문 내용과 동일하게 모든 조건식이 거짓(false)인 경우에 실행되고 마친가지로 전체 if문을 벗어나게 된다.

if(조건식1){
  조건식1이 참일경우 이곳에서 실행된다.
}else if(조건식2){
  조건식2이 참일경우 이곳에서 실행된다.
}else if(조건식3){
  조건식3이 참일경우 이곳에서 실행된다.
}else if(조건식4){
  조건식4이 참일경우 이곳에서 실행된다.
}else{
  모든 조건식이 거짓일 경우 이곳에서 실행된다.
}


switch

switch문은 if문과 마찬가지로 조건 제어문이다. 위에 내용인 if else if문과 유사하지만 switch문은 변수의 값에 따라 코드를 실행할 수 있게 제어할 수 있다. if문은 조건식이 true, false 두 가지밖에 업기 때문에 경우의 수가 많을수록 else if를 반복적으로 계속 추가해야 하므로 코드가 복잡해지지만 switch문은 변수의 값에 따라서 실행문이 결정된다. 즉, 변수값에 따라 실행문이 선택되기 때문에 조건식이 많아질수록 더 복잡해지는 if문보다 코드가 간결하고 가독성이 좋은 장점이 있다.[2]

switch(변수){
   case 1:
      실행 코드;  
      break;
   case 2:
      실행 코드;  
      break;
   case 3:
      실행 코드;  
      break;
   case 4:
      실행 코드;  
      break;
   default:
      실행코드;
      break; 
}

만일 변수값에 동일한 case가 없으면 default로가서 실행된다. 그리고 default는 생략이 가능하다.

case끝에 break가 있는 이유는 다음case를 실행하지말고 switch문을 빠져나가기 위함이므로 break가 없다면 다음 case가 연달아 실행되는데 이때는 case값과는 상관없이 실행된다.


반복문

반복문은 주어진 조건이 만족이 될 때까지 반복적으로 문장을 수행 시키는 명령문이다. 프로그램을 처리하는 부분에 있어서 반복적인 형태가 많다. 그렇기 때문에 가장 많이 사용되는 제어문 중 하나다. 반복문은 for문, while문, do-while문으로 나누어져 있지만 do-while문은 while문에서 파생된 것이라 사실상 반복문에서 가장 많이 쓰여지는 것은 for문과 while문이라 볼 수 있다.[3]


for

for문은 반복문의 대표라고 할 수 있을 만큼 가장 많이 사용되는 반복문이다.

for(초기화식; 조건식; 증감식){
      실행문;
}

위에 for문에서 초기화식이 가장 먼저 실행되고, 조건식이 참(true)이면 실행문을 실행시킨다. 만일 조건식이 거짓(false)이 나오면 for문은 실행하지 않고 끝나게 된다. 초기화식은 조건식,실행문,증감식에서 사용할 변수를 말 그대로 초기화를 하는 역활을 한다. 실행문이 모두 실행되면 증감식을 실행시키고 다시 조건식으로가 참(true)이 나오면 다시 실행문을 실행시킨다. 이 순으로 계속 실행문이 반복적으로 실행되고 조건문이 거짓(false)이 되면 for문은 종료하게 된다.[4]


while

for문이 반복되는 횟수가 정해져 있다면, while문은 for문과 다르게 조건식이 true일 경우에 계속해서 반복하는 반복문이다. 조건식이 거짓(false)가 나온다면 반복실행을 멈추고 while문을 종료 하게된다.

while(조건식){
   실행문;
}

wile문에 조건식이 참(true)일 경우 for문 처럼 실행문을 실행하고 다시 조건식으로 돌어가 참(true)인지 거짓(false)인지 평가한다. 여기서 또 참(true)이 나오면 다시 실해문을 실행시키고 다시 조건문을 평가합니다. 이 순으로 반복적으로 실행이 되는데 조건문이 결국 거짓(false)가 나오면 while문을 종료한다.[5]


do-while

while문은 조건식에 의해 반복적인 실행을 한다. do-while도 이점은 while문과 동일하다. 하지만 while 문은 조건식이 참(true)이지 않으면 아예 실행이 되지 않지만 do-while문은 조건이 충족되지 않아도 무조건 한번은 실행되는 점에 있어서 큰 차이점이 있다.

do{
   실행문;
}while(조건식);

위에 do-while문에서 실행문을 최소 실행한 뒤에 조건문이 참(true)인지 거짓(false)인지 평가한다. 조건문이 참(true)일 경우 다시 실행문을 실행하고 또 다시 조건문을 평가한다. 이렇게 실행문을 최소실행 후 조건문에 충족되게 반복적으로 실행한다. 그리고 조건식이 거짓(false)가 될 경우 do-while문을 종료한다. 조건식이 true인지 false인지에 따라 반복적으로 실행되는 점은 while문과 동일하다.[6]


분기문

분기문은 조건문과 반복문에 중간에서 주어진 조건의 흐름을 바꿀 수 있는 구문이다.


break

break문은 for문, while문 등 반복문을 실행 중지할 때 사용한다.

for(조건식1){
   실행문;
   if(조건식2){
      break;
   }
}

예를 들어 조건식1에 충족되는 for문이 반복 실행중에 있어서 조건식2에 충족되어 break문이 사용되면 for문은 종료된다.

continue

return

각주

  1. (Chapter 3 조건문)2.if문을 써보자〉, 《티스토리》, 2019-06-17
  2. 이나우, 〈제어문이란?〉, 《티스토리》, 2020-12-29
  3. (Chapter4 반복문)1.반복문이란?〉, 《티스토리》, 2019-06-21
  4. (Chapter 4 조건문)2.for문을 알아보자〉, 《티스토리》, 2019-06-28
  5. 코딩팩토리, 〈while문 사용법 & 예제 총정리〉, 《티스토리》, 2019-07-23
  6. 아이씨뱅큐, 〈반복문(2)-while문/do while문〉, 《네이버》, 2020-07-13

참고자료

같이 보기


  의견.png 이 제어문 문서는 프로그래밍에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.