본문 바로가기

자바 웹 개발자가 될거야/JSP

[JavaScript] FOR문 / 중첩 FOR문 / WHILE문 / DO-WHILE문 / 보조제어문 / BREAK문 / CONTINUE문 / 무한반복

< 반복문 >

 

① for문

 

- for (초기식;조건식;증감식){

               반복할 코드;

  }

 

※ 디버그 모드

- 버그(오류)를 잡는 것

- 실행창에서 F12 눌러 Source 탭으로 이동 - 아래와 같이 디버그할 코드 라인 클릭 - 사이사이 중단점 클릭 - F8 누르면 실행창의 바탕색이 회색으로 바뀐다. (안된다면 Source탭에서 F5 누른 후 F8 눌러보기) - 회색으로 바뀐 실행창 보면서 F8 누르면서 반복문 돌아가는 거 관찰가능

 

 

 

- 2단 구구단 만들기

 

var i =2;
document.write("[ "+i+"단 ]<br>");
for(var j=1;j<=9;j++){
	document.write(i+"*"+j+" = "+(i*j)+"<br>");	
}

 

실행결과

 

- for( var i=1; i<100; i++);

→ 중괄호없어도 실행되긴함

      시간 생성을 함. 딜레이를 만드는 것

 

 

① - ⓐ 중첩 for문

 

- for ( 초기식 ; 조건식 ; 증감식 ) {

              반복코드 ;

              for ( 초기식 ; 조건식 ; 증감식 ) {

                             반복코드;

               }

   }

 

- out-for문이 한바퀴(1증가)할 때, in-for문은 첨부터 끝까지 실행

 

- 1시에서 2시까지 시간 출력

for(var h=1;h<2;h++){
	for(var m=0;m<=60;m++){
		document.write(h+"시 "+m+"분 <br>");
	}
}

 

실행결과

 

 

- 구구단 출력 ( 2단 ~ 9단 ) : 세로로 출력하기

 

for(i=2;i<=9;i++){
	document.write("[ "+i+"단 ] <br>");
	for(j=1;j<=9;j++){
		document.write(i+"*"+j+" = "+(i*j)+"<br>");			
	}
}

실행결과

- 구구단 출력 ( 2단 ~ 9단 ) : 가로로 출력하기

 

for(i=2;i<=9;i++){
	document.write("[ "+i+"단 ] &nbsp;");
}
document.write("<br>");
	
for(i=1;i<=9;i++) {
	for(j=2;j<=9;j++){
		document.write(j+"*"+i+" = "+(j*i)+"&nbsp;");			
	}
	document.write("<br>");
}

 

실행결과

 

 

② while문

 

- while ( 조건식 ) {

                 반복할 코드 ;

                 증감식 ;

   }

  · 증감식은 반복할 코드 끝난 후에 작성

 

var sum = 0;
for(var i=1;i<=10;i++){
	sum+=i;		
}
document.write("총합: "+sum);  // 총합 : 55

var i = 1;
var sum = 0;
while(i<=10){
	sum+=i;
	i++;
}
document.write("총합: "+sum);  // 총합 : 55

 

- 증감식을 안넣어주는 경우

 

→ 처음 i를 사용하기 전에는 증가되지 않는다. 

 

var i = 1;
while(i++ <= 4){
	document.write(i);
}                                  // 결과 : 2 3 4 5

var i = 1;
while(++i <= 4){
	document.write(i);
}                                 // 결과 : 2 3 4

 

 

③ do - while문

 

- 조건문의 결과와 상관없이 한번 실행후 동작함

 

- do {

            반복할 문장 ;

            증감식 ;

  } while (조건식) ;

 

var i=1;
do {
	document.write(i+" ");
	i++;
}while(i<=5);           // 결과 : 1 2 3 4 5

 

- 2의 배수는 빨간색, 6의 배수는 파란색으로 출력

 

for(var i=1;i<=50;i++){
	if(i%2==0){
		document.write("<font color='red'>"+i+"</font> ");
	}
	if(i%6==0){
		document.write("<font color=blue>"+i+"</font> ");
	}
	if(i&2 !=0 && i%6 != 0){
		document.write(i+" ");
	}
}

 

 

실행결과

 

 

 

< 보조제어문 >

 

① break문

 

- 반복문을 강제종료 ( 가장 가까운 반복문 1개를 탈출 )

 

for(var i=1;i<=10;i++){
	if(i%3==0){
		break;
    }
	document.write(i+" ");
}

// 결과 : 1 2


for(var i=1;i<=10;i++){
	document.write(i+" ");
    if(i%3==0){
		break;
    }
}

// 결과 : 1 2 3

 

→ break문 만나서 for문 탈출

 

 

② contiue문

 

- 반복문 실행문을 건너서 다음 동작으로 실행

 

for(var i=1;i<=10;i++){
	document.write(i+" ");
	if(i%3==0)
		continue;
}

// 결과 : 1 2 3 4 5 6 7 8 9 10

for(var i=1;i<=10;i++){		
	if(i%3==0)
		continue;
	document.write(i+" ");
}

// 결과 : 1 2 4 5 7 8 10

 

 

 

< 무한반복문 >

 

- 반복문의 횟수가 정해지지 않는 경우 사용

 

- for( ; ; ){ }

- for( ; true ; ) { }

- while (true) { }

- do { } while( true );