본문 바로가기

category_1/JAVASCRIPT

230323 javascript_반복문 / html 구구단,while문,for문,쓸데아니하는 별쌓기(*)

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<link rel="shortcut icon" href="#" type="image/x-icon">
	<title>반복문</title>
</head>
<body>
	<h1>반복문 while</h1>
	- 조건식만 지정되있다 <br>
	- 초깃값, (조건식, 증감 : 블록 범위 안)
	<script type="text/javascript">
		/**
		 *  변수 = 0;
		 *  while (조건식){
		 * 		변수 증감(반복 횟수 정해짐)
		 *  }
		 * 
		 * */
		// 횟수의 초기화
		let cnt1 = 1;
		while (cnt1 <= 5) {
			console.log(cnt1);
			//증감식
			// cnt1++; bad
			cnt1 += 1; // good
		}	
	</script>

	<h1>반복문 do while</h1> ex)'무조건 한번 실행' 같은 특수한 경우
	- 1. do (코드를 먼저 실행), 2. 조건판단(반복여부)<br>
	<script type="text/javascript">
		/**
		 * 1. 초깃값
		 * 		변수 = 값;
		 * 2. do {
		 * 			실행코드
		 * 3.	}while(조건);
		 *   
		 */
		// 횟수의 초기화
		let cnt2 = 5;
		do {
			console.log(cnt2);
			cnt2 += 1;
 		} while (cnt2 < 5);
			console.log(cnt2);
		
	</script>
	
  <h1>반복문 for</h1>
	- (초깃값, 조건식, 증감 : 블록 범위 안)
	- 분리 가능
	<script type="text/javascript">
		for(let i=0; i<6; i++){
			console.log(i);
		}
		//상단,하단for문 콘솔값 동일
		let j = 1;
		for(;j<6;){
			console.log(j);
			j+=1;
		}
		//for문을 if문으로? if문 여러개를 줄인것 = for문,(상단의 if문과 콘솔값 동일)
		let k =1;
		if(k < 6 ){
			console.log(k);
			k +=1;
		}
		if(k < 6 ){
			console.log(k);
			k +=1;
		}if(k < 6 ){
			console.log(k);
			k +=1;
		}if(k < 6 ){
			console.log(k);
			k +=1;
		}if(k < 6 ){
			console.log(k);
			k +=1;if(k < 5 ){
			console.log(k);
			k +=1;
		}
		}
	</script>
	
	<h1>break</h1>
	- 해당 키워드를 만날 경우 반복이 중지된다.
	<script type="text/javascript">
		/* 인접하고 있는 블록을 빠져나온다.
		{
			break;
		} 
		for(반복문 키워드) 가장 가까운 for(반복문 키워드)문의 블록을 빠져나온다.
		*/
		//cnt1=6
		for(let cnt1=0; cnt1<5; cnt1++){
			console.log(cnt1);
			if(cnt1 == 1) break;
		}
		console.log(cnt1,`cnt1의값은?`);
		//var를 사용하지 않은 이유?
		var cnt3 = 100;
		for (var cnt3=0; cnt3<5; cnt3++){
			console.log(cnt3);
		}
		console.log(cnt3);

	</script>
	
	<h1>continue</h1>
	- continue 키워드를 만나게 될 경우 다음 반복을 진행 (skip)
	<script type="text/javascript">
		/* 인접하고 있는 블록을 빠져나온다.
		for
		continue -> 아래에 위치한 코드는 실행x , 증감식으로 간다.
		*/
		for(let i=0; i<5; i+=1){
			//1인경우 continue
			if(i == 1) continue;
			console.log(i,'for continue');
		}
	</script>

	<h1>레이블 문</h1>
	- 식별자가 붙은 문장<br>
	- {}문, 반복문, switch문에서 사용한다.<br>
	- 프로그램의 실행순서를 제어하는데 사용한다.<br>
	- but, 레이블 문을 사용하면 프로그램의 흐름이 복잡해져서<br>->break [레이블명] 으로 써야하므로 레이블명을 다시 봐야한다.
	&ensp;&nbsp;가독성이 저하된다.
	<script type="text/javascript">
	outter: {
		let i = 10;
		break outter;
		console.log(i);
	}

	outterFor : for(let i=2; i<=9; i++){
					console.log(i,'현재 i의 값');
					for (let j=1; j<=9; j++){
						// console.log(j,`현재 i:${i}의${j}번째 반복`);
						if(i*j == 8) break outterFor;
						console.log(j,`${i}X${j}=${i*j}`);
				}
			}
	</script>
</body>
</html>

 

 

Recent Posts
Popular Posts
Calendar
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31