for 문
형식 :
for ( 초기식 ; 조건식 ; 증감식 ){
반복실행블럭
}
for ( 처음 ; 끝 ; 규칙 )
반복(회전)수 결정 조건 : 1) 처음 2) 끝 3) 일정한규칙
끝을 비워두면 무한루프가 형성됨.
탈출 조건을 걸어야 함.
if (탈출 조건 ) break;
true 일때 반복.( 0이 아닌 수를 true )
false 일때 반복 끝. (0이 false)
반복 루트 : 초기식(처음) > 조건식(끝이니 아니니?) > 반복실행블럭(실행해볼게) >
증감식(끝이아니니, 끝까지 가보자) > 조건식(아직도 끝이 아니니?) > 반복실행블럭(또 실행해볼게)
// 34 ~ -68
for (let i = 35; i > -68;){
i--;
console.log(i);
}
// 241 ~ 169
for (let i = 242; ;){
i--;
if (i <= 168) break;
console.log(i);
}
while 문
형식 :
초기식선언;
while(조건식){
실행블럭
}
while 안에 초기식이 없기 떄문에 따로 초기식을 선언 해야함.
조건식에 true 값을 넣어줘야 실행되기 때문에 0이 아닌값을 통해 무한루프 형성.
// 69 ~ -51
let i = 69;
while (i > -52) {
console.log(i);
i--;
}
// 256 ~ 117
let i = 257;
while (1) {
i--;
if (i <= 116) break;
console.log(i);
}
do...while 문
형식:
초기식선언;
do{
실행블럭}while(조건식);
while 뒤에 세미클론 주의
while 과 같이 초기식이 따로 존재해야함.
do {
console.log(i);
i--;
} while (i > -25 );
// 111 ~ 83
let i = 111;
do {
console.log(i);
if (i <= 83) break;
i--;
} while (1);
중첩루프 (두가지 이상의 반복문 루프)
중첩 루프의 특성 : 외곽구조변수 값이 고정되어 있는 상태에서
내곽 구조변수 값이 변하는 특징.
// 99단 출중첩 루프 구조 : 외곽구조 내곽구조
for (let i = 1; i <= 9; i++) { //외곽구조
for (let j = 1; j <= 9; j++) { //내곽구조
document.write(`i = ${i} x ${j} = ${i * j}`)
}
document.write(`<br/>`);
}
결과값에 대해 한자리수와 두자리수의 차이로 인해 가지런하지 않은 모습을 볼 수 있다.
for (let i = 1, space = '', result; i <= 9; i++) { // 외곽구조
for (let j = 1; j <= 9; j++) { // 내곽구조
result = i * j + '';
for (let r = 0; r < 2 - result.length; r++) {
result = ' ' + result;
}
document.write(`${i} x ${j} = ${result} `);
// space = '';
}
document.write('<br/>');
}
공백을 맞춰주기 위해 공백을 설정하자.
result의 값을 문자열로 형변환 시킨다음( result = i * j + ''; )
자기 자신의 자리수 길이를 알 수 있다.( result.length )
최대 자리수가 2자리임을 감안하고 편하게 계산해보면,
2-자기자신의 자리수 만큼 공백이 출력되야 함을 알 수 있다.
(실제로 확장성을 고려한다면 , 최대값을 구해서 최대값을 문자열로 바꾼다음
최대값의 문자열길이 - 자기자신의 문자열 길이를 한 만큼 공백이 출력되야 할것이다.)
result에 공백을 더하는 반복문을 돌려서 , 값을 저장할 수 있다.
result에 출력한다음 다시 내곽구조의 반복문을 돌게되는데 ,
그때 result의 값이 초기화 되고 있는 모습을 볼 수있다.( result = i * j + ''; )
결과를 확인해보자.
무한 루프의 탈출법.
1.조건문 break;
가장 가까운 루프를 탈출.
2.조건문 continue;
for 문 : 증감식 부분으로 점핑 증감식 > 조건식
while, do~while : 조건식 부분으로 점핑 조건식
1.레이블 탈출 :
탈출하고 싶은 구역 위에 레이블명 :
사용방식 :조건문 break 레이블명 ;
2.레이블 점핑 :
점핑하고 싶은 구역 위에 레이블 명 :
사용 방식 :조건문 continue 레이블명; 2<i<5
if(2<i && i<5) continue;
'Developer > 자바스크립트' 카테고리의 다른 글
자바스크립트 가볍게 알아보는 == 와 === / 값의 부정평가(!) (0) | 2024.05.16 |
---|---|
자바스크립트 , 누적합구하기/ 최대값,최소값구하기 /거듭제곱구하기 원리 (0) | 2024.05.16 |
자바스크립트 , 조건문 if 와 switch (0) | 2024.05.16 |
자바스크립트 , backtick(``) / 자리 표시자 ${} /prompt / alert/ confirm (0) | 2024.05.16 |
자바스크립트, 기초 중 기초 ! 변수 (0) | 2024.05.16 |