본문 바로가기

카테고리 없음

조건문과 반복문

제어문의 종류

  • 조건문 : if문, switch문
  • 반복문 : for문, while문, do-while문
  • break문, continue문

제어문이 필요한 이유

  • 많은 데이터 중에서 원하는 데이터를 찾을 때
  • 50만 명 수능 시험자 과목별 평균값과 최고, 최솟값을 구할 때

If문

- 조건식 결과 따라 중괄호 { } 블록을 실행할지 여부 결정할 때 사용

- 조건식

  • true 또는 false값을 산출할 수 있는 연산식
  • boolean변수
  • 조건식이 true이면 블록 실행하고 false이면 블록 실행하지 않음
if(조건문) {
	실행문;
    실행문;
    }

 

if - else문

  • 조건식 결과 따라 실행 블록 선택
if (조건식) {
	실행문1;          // 조건식이 true이면 실행
    } else {
    	실행문2;      // 조건식이 false이면 실행
}

 

if - else if - else 문

  • 복수의 조건식 두어 조건식을 만족하는 블록만 실행
if (조건식 1) {
	실행문1;					// 조건식 1이 true이면 실행
    } else if (조건식 2) {
    실행문2;					// 조건식 1이 false이고, 조건식 2가 true이면 실행
    }else {
    실행문3;					// 조건식 1 및 조건식 2가 false이면 실행
    }

 

중첩 if문

  • 코드 실행 흐름을 이해하는 것이 가장 중요
if (조건식 1) {
	if (조건식 2) {
    실행문 1;          // 조건식 1과 조건식2가 true이면 실행
    } else {
    실행문 2;			// 조건식 2가 false면 실행
    }
  } else {
  	실행문 3;          // 조건식 1이 false면 실행
    }

 

Switch문

  • 변수나 연산식에 값에 따라 실행문 선택할 때 사용
switch(변수) {
	case 값1:
    	실행문      // 변수가 값1일 경우 실행
        break;
    case 값2:
    	실행문      // 변수가 값 2일 경우 실행
        break;
    default:       // 변수가 값1, 값2 모두 아닐경우
    
    }


반복문

  • 중괄호 블록 내용을 반복적으로 실행할 때 사용 
  • 종류 : for문, while문, do - while문
int sum = 0;
for (int i=1; i<=100l i++) {
	sum = sum + i;       // 100번 반복
    }
    System.out.println("1~100까지의 합:" + sum);

 

∴ 0에서 100까지의 합 구하기의 다양한 방법

방법1)

int sum = 0;
for (int i = 0; i <= 100; i++)
	sum += i;

방법 2)

int sum;
for (int i = 0; sum = 0; i <=100; i++)
	sum += i;

방법 3)

int sum = 0;
for (int i = 100; i >= 0; i--)
	sum += i;

 

for 문의 특이한 형태

1)

for(초기작업; true; 반복후작업) { // 반복조건이 true이면 무한 반복
 	..............
 }

2)

for(초기작업;; 반복후작업) {   // 반복조건이 비어 있으면 true로 간주, 무한 반복
	..............
}

3)

//초기 작업과 반복 후 작업은 ','로 분리하여 여러 문장 나열 가능
for (i = 0; i< 10; i++, System.out.println(i)) {
	..............
}

4)

// for문 내에 변수 선언
for (int i = 0; i < 10; i++) { // 변수 i는 for문 내에서만 사용 가능
	..............
}


while 문 : 조건에 따라 반복을 계속할지 결정할 때 사용

while (1.조건식) {
	// 조건식이 true일 경우
    2.실행문;
    }  // 조건식이 false일 경우 while문 종료

 

do - while 문

  • 조건 따라 반복 계속할지 결정할 때 사용하는 것은 while 문과 동일
  • 무조건 중괄호 { } 블록을 한 번 실행한 후, 조건 검사해 반복 결정
do {

	1.실행문    // 조건식이 true일 경우 반복 실행
    } while (2.조건식);  // 조건식이 false일 경우 do - while문 종료


중첩 반복

  • 반복문이 다른 반복문을 내포하는 구조
  • 이론적으로는 몇 번이고 중첩 반복 가능
  • 너무 많은 중첩 반복은 프로그램 구조를 복잡하게 하므로 2중 또는 최대 3중 반복이 적당
for ( i = 0; i < 100; i++) { // 100개 대학의 학생 성적을 모두 더한다.
	..............
	for(j = 0; j < 10000; j++) {  // 10000명의 학생 성적을 모두 더한다.
    	..............
        ..............
        }
    ..............
    }


break 문

  • for 문, while 문, do - while 문 종료 (반복 취소)
  • Switch문 종료
  • 대개 if 문과 같이 사용 (if 문 조건식에 따라 for 문과 while문 종료할 때 사용)
for (...) {
	
    
   for (...) {
   	break;
    }
  }

 

break문

- 반복문이 중첩된 경우

  • 반복문이 중첩되어 있을 경우 break; 문은 가장 가까운 반복문만 종료
  • 바깥쪽 반복문까지 종료시키려면 반복문에 이름을 붙이고, "break 이름;" 사용
이름 : for (...) {
	
    
    for (...) {
    	break 이름;
        }
   }

 

continue 문

- for 문, while 문, do - while문에서 사용

  • for 문 : 증감식으로 이동
  • while 문, do - while 문 : 조건식으로 이동


오늘은 조건문과 반복문에 대해 이론적인 공부를 해보았습니다. 다음 시간에는 조건문과 반복문을 실습에서 써보면서 직접 코딩하는 시간을 갖도록 해보겠습니다.^^

반응형