제어문이란?

Noome_·2022년 4월 12일
0

✔ 제어문?

프로그램의 실행 흐름을 제어하는 문장.
조건문, 반복문, 분기문이 있다. 이 중 조건문과 반복문의 사용이 많다.
개발자가 원하는 방향으로 실행의 흐름을 바꾸는 것이다.

💻 조건문과 반복문의 비교 vs

조건문반복문
조건을 만족할 만 { }를 수행함조건을 만족하는 동안 { }를 수행함
(0~1번 수행)(0~n번 수행)



1. 조건문

if / if-else / if-else if / 중첩 if / switch

  • if문

if(조건식) { //조건이 참일 때 시행될 문장들을 적는다. }
이때, 가장 중요한 것은 조건식의 결과는 반드시 true 또는 false이어야 한다.


  • if - else문

if(조건식) { //조건이 참일 때 시행될 문장들을 적는다. } else{ // 조건이 거짓일 때 시행 될 문장들을 적는다. }
이때, 주의 할 점은 else문에는 조건식을 적지 않는다는 것이다. else는 후에 나오는 default와 비슷한 기능을 하니, 같이 알아둘 것 !


  • if - else if문

if (조건식 1) {// 조건식 1가 참일 때 시행될 문장들을 적는다. } 
else if (조건식 2) {//조건식 2가 참일 때 시행될 문장들을 적는다.}
else if (조건식 3) {//조건식 3이 참일 때 시행될 문장들을 적는다. }
else  { //마지막은 보통else로 끝나며, 이는 생략이 가능하다. 
//위의 조건들 중 어떤 조건식도 만족하지 않을 때 수행 될 문장들을 적으면 된다}



  • 중첩 if문

if (조건식 1) { // 조건식 1가 참일 때 시행될 문장들을 적는다.}
	if (조건식 2) { //조건식 1과 2가 모두 true일 떄 수행될 문장들} else {
 }else { //조건식 1이 false일 때 수행 될 문장들
}



  • switch문

switch (조건식 1) {
	case1 :
	 //조건식의 결과가 값1과 같을 경우 수행될 문장들
 	case2 :
	 //조건식의 결과가 값2와 같을 경우 수행될 문장들
     //..이 때, if문과 다르게 case 사이사이에 {}는 사용 하지 않는다.
     .
     .
     .
      break;  //switch문을 벗어난다.
   //...   
  default;
       //**조건식의 결과와 일치하는 case문이 없을 떄 수행 될 문장들(앞서 말한 else문의 else와 같은 역할)**
}

if문과 다르게, 처리해야 하는 경우의 수가 많을 때 유용한 조건문이다.
이 switch문은 제약조건이 존재한다.
조건식의 결과가 정수 또는 문자열이어야 하고 값은 정수 상수만 가능하며 중복되지 않아야 한다.
따라서 변수나 실수는 불가능 하다.

2. 반복문

for (반복 횟수를 알 때) / while (반복 횟수를 모를 때) / do - while / break / continue

  • for문 (가장 많이 사용하는 반복문)
for(초기화;조건식;증감식){
     //수행 될 문장
}

for문의 구조와 실행 순서만 잘 지킨다면 반복문을 수행하는데 큰 어려움은 없다. 하지만 중첩 for문의 경우 여러가지 for문이 겹치면서 다양한 예제들을 접해야할 필요성을 느꼈다.

EX1)- 5행의 * 10개 찍기

for문을 배우기 전이라면 
System.out.println(*********);
System.out.println(*********)
System.out.println(*********)
System.out.println(*********)
System.out.println(*********)5번 반복했겠지만,


for문을 사용했을 때 
for(int i = 1; i<=5; i++){
System.out.println(*********);
}로 간결하게 표현할 수 있다는 걸 알 수 있다.

이는 중첩 for문을 사용하게 될 경우
for(int i = 1; i<=5; i++){
	for(int = 1; j<=10,j++){
    System.out.print(*);
    }
    System.out.println();
}
으로 표현할 수도 있다. 



EX2)-삼각형 모양의 별 출력하기

for(int i = 1, i<=5; i++){
	for(int j =1 , j <= i , j++){
     System.out.print(*);
    }
    System.out.println();
}
  • while문
    while ( 조건식 ) { } //조건식의 연산결과가 참인 동안 반복될 문장들을 적는다.

💻 for과 while문의 비교

forwhile
무한반복문의 (;;)를 생략가능무한반복문의 true 생략 불가
for--->
for(초기식;조건식;증감식)
{System.out.println(i});

while--->
int i =1 ; while(i <= 10) {System.out.println } i++}
  • do - while문
do{
//조건식의 연산결과가 참일 때 수행될 문장들을 적는다.

} while (조건식) ; (끝에 ;를 생략하지 않도록 주의한다.)

이 제어문은 블럭을 최소한 한 번 이상 반복할 때 사용하므로 한번 이상의 실행이 필수적이기 때문에 반복적으로 사용자의 입력을 받아서 처리할 때 유용하다.

  • break문
    주로 if문과 함께 사용되어 자신이 포함된 가장 가까운 반복문을 벗어난다.
  • continue문
    쉽게 건너뛰기라고 생각하면 편하다.
    특정조건을 만족하는 경우에 continue문 이후의 문장들을 수행하지 않고 다음 반복으로 넘어가서 계속 진행된다.
    전체 반복 중에 특정조건을 만족하는 경우를 제외하고자 할 때 유용하다.

break문과의 차이점은 break문과 달리 반복문을 아예 벗어나는 것이 아니라, 다음 반복으로 건너뛴다는 것이다.

profile
철수네 개발자

0개의 댓글

관련 채용 정보