제어문의 종류
- 조건문 : 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 문 : 조건식으로 이동
오늘은 조건문과 반복문에 대해 이론적인 공부를 해보았습니다. 다음 시간에는 조건문과 반복문을 실습에서 써보면서 직접 코딩하는 시간을 갖도록 해보겠습니다.^^
반응형