Javascript 제어문 - 조건문, 반복문, 보조 제어문
제어문
제어문이란?
- 프로그램 실행과정을 제어하기 위해 사용하는 구문
- 반복 처리 및 선택 처리를 할 때 사용
- 조건문(conditional statements) : 조건에 따라 다음 문장 선택적 실행
- if문, if~else문, 다중 if~else문, switch~case문
- 반복문(loop statements) : 동일 명령을 여러 번 처리하거나 특정 연산을 반복적으로 처리
- for문, while문, do~while문
- 보조 제어문(break or continue statement) : 조건문을 만나면 건너뛰거나 반복 수행 종료, 반복문 내에서 사용
- continue문, break문
- 조건문(conditional statements) : 조건에 따라 다음 문장 선택적 실행
1. 조건문
- 조건문이란 프로그램 내에서 주어진 결과값에 따라 수행하도록 제어하는 실행문입니다.
- if문, if/else문, if/else if/else문, switch문
1 - 1. if문
- 조건식이 참(true)이면 블록 내의 문장을 처리, 거짓(false)이면 블록을 빠져 나감
- 조건식에 true 값을 직접 대입하면 무조건 처리하도록 제어 가능
-
if문 안에 다른 if문 포함 가능
if(조건식) { 실행문장 } ------------ if(조건식A) { 실행문장; if(조건식B) { 실행문장; } }
1 - 2. if/else문
- 조건식이 참(true)인 경우와 거짓(false)인 경우 처리할 문장이 각각 따로 있을 때 사용
-
조건식이 2가지 결과값을 명확히 제어하고자 할 때 사용
if(조건식) { //조건이 참일 때, 실행문; } else { //조건식이 거짓일 때, 실행문; }
1 - 3. if/else if/else문 (다중 if~else문)
- 여러 조건을 체크해야 할 때 사용
-
다중 if~else문은 길어지면 전체적인 흐름 파악이 어려워, 이를 보완하는 switch/case문을 사용
if(조건식a) { 조건식a 결과가 참일 때, 실행문; } else if(조건식b) { 조건식b 결과가 참일 때, 실행문; } else { 위의 모든 조건식을 만족시키지 못한 경우의 실행문; }
1 - 4. switch/case문 (다중 조건문)
-
다중 if~else문보다 가독성 측면에서 좋음
switch(비교 값 근본) { case 비교 값1: 실행문; break; case 비교 값2: 실행문; break; default: 위의 비교 값과 일치하는 값이 없는 경우 실행. else와 같은 역할, 생략 가능 }
2. 반복문
- 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 실행문입니다.
- for문, while문, do~while문
2-1. for문
- 반복 횟수에 중점을 둠. 조건이 만족되는 동안 반복 실행
-
괄호 안에 두 개의 세미콜론(;)으로 분리된 세 개의 수식
· for(초기식; 조건식; 증감식) {}
- 수식의 동작에 따라 블록 안의 문장 반복 실행
-
조건식에 부합하면 반복문을 빠져나감
for(초기식; 조건식; 증감식) { 실행 문장; }
- 초기식: 반복 변숫값 초기화. for문 시작할 때 단 한번만 실행
- 조건식: 블록 내 문장을 얼마나 반복할지 결정. 조건식이 참인 동안 반복
- 증감식: 초기식에서 초기화한 변수의 값 증가 또는 감소
2 - 2. while문
- 조건이 참(true)인 동안 블록 내 문장 처리, 거짓(false)이면 블록을 벗어나 다음 문장 처리
- 만약 while문의 조건식을 처음 실행할 때 거짓(false)이면 한 번도 블록 내 문장을 처리하지 않고 블록을 벗어남
- 또한 while문의 조건식이 항상 참(true)이 되면 무한 반복
- 이런 경우 실행 문장 내에 if문과 break문을 사용하여 특정 조건을 만족하면 반복을 중단하도록 해야 한다.
while(조건식) { 실행 문장; //조건이 참인 동안 실행되는 실행문; }
2 - 3. do~while문
- while문이 조건식을 먼저 체크 후 참이면 블록 내의 문장을 처리하는 것에 반해, do~while문은 블록 내 문장을 먼저 처리한 후 조건식 체크
- 따라서 블록 내 문장을 한 번 이상 반드시 수행
-
do~while문을 작성할 때는 끝에 세미콜론(;)을 꼭 작성
do { 실행 문장; } while(조건식;)
2 - 3. 보조 제어문 break문
- break문은 for문, while문, do~while문과 같은 반복문에서 사용
- switch~case문 내에서 해당 블록을 강제적으로 벗어나, 다음 문장을 처리하도록 할 때 사용
- break문 예시
//3의 배수로 0~100까지 출력 for(let i = 0; i <= 100; i+=3) { //document.writeln(i);0 3 6 9 12 15 18 21 if(i>=20) { break;//제어문에서 벗어날 때 사용. } document.writeln(i); }
2 - 4. 보조 제어문 continue문
- if문과 함께 많이 사용되며, if문의 조건식이 참이면 continue문 이후의 문장을 처리하지 않고 제어를 반복문의 시작 위치로 옮기는 역할
-
break문은 반복문을 완전히 벗어나게 하는 역할을 하는 반면, continue문은 제어를 반복문의 시작 위치로 이동시키는 차이점이 있음
var x=0; var sum=0; for(x=1; x<=100; x++) { if(x%3 != 0) continue; sum+=x; document.write(x+" "); } document.write("<p/>"); document.write("1~100까지 수 중 3의 배수 합 : <b>" + sum + "</b>");
· 결과물
3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 60 63 66 69 72 75 78 81 84 87 90 93 96 99 1~100까지 수 중 3의 배수 합 : 1683