2020년 2월 25일 화요일 오전 7:00JavaScript12분 읽기 (대략 1805 단어)
자바스크립트 선택문,반복문
자바스크립트의 선택문(switch)와 반복문(while, for)
선택문 switch
변수에 저장된 값과 switch 문에 있는 경우(case) 값을 검사하여,
일치하는 값이 있을때 해당하는 실행문을 실행합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13
switch (변수){ case1값: 실행문1; /*변수값이 case값에 일치하는 데이터가 있으면, 해당하는 실행문 실행*/ break; //반복문을 강제로 끝내는 break; case2값: 실행문2; break; case3값: 실행문3; break; default: 실행문4; //일치하는 값이 없을경우에 실행
let i=1; // 초기값 선언 while(i<=10){ // i 값이 10보다 작거나 같을때(true) 까지 반복 document.write("안녕하세요"+i,"<br />"); // 실행문 i++; // 증감식 }
/* 안녕하세요1 안녕하세요2 안녕하세요3 안녕하세요4 안녕하세요5 안녕하세요6 안녕하세요7 안녕하세요8 안녕하세요9 안녕하세요10 */ ``` * * * 20부터 10까지 숫자 중 짝수을 경우 에는 파란색으로 출력, 홀수일 경우에는 빨간색으로 출력되도록 한 예제. ```js let i=20; while(i>=10){ // i의 값이 10보다 클 때까지 반복문을 실행. if(i%2==0){ // i의 값을 2로 나눠서 나머지가 0일 경우 (2의 배수) document.write("<font color='blue'>"+i+"</font>", "<br/>"); } else{ // 2로 나눠서 나머지가 0이 아닐 경우 document.write("<font color='red'>"+i+"</font>", "<br/>"); } i--; // 감소 연산자 (i값을 1씩 감소 시킴.) }
for(let a=1; a<=100; a++){ //변수 i가 100이 될 때까지 반복 실행합니다. if(a%7==0 && a%5==0){ //5의 배수이고 7의 배수가 인 경우 document.write("<font color='aqua'>"+a+"</font>","<br />"); }elseif(a%5==0){ //5의 배수인 경우 document.write("<font color='red'>"+a+"</font>","<br />"); }elseif(a%7==0){ //7의 배수인 경우 document.write("<font color='green'>"+a+"</font>","<br />"); } }
continue 문
continue 문은 반복문에서만 사용할 수 있습니다.
continue 문 다음에 오는 실행문은 무시하고 실행해라는 뜻입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
// for 예시 for(초깃값; 조건식; 증감식){ continue; //다음에 오는 실행문은 무시하고 증감식으로 이동되 실행됩니다. 실행문; } // while 예시 let 변수=초깃값; while(조건식){ 증감식; continue; //다음에 오는 실행은 무시하고 조건식으로 이동합니다. 실행문; }
countinue 실행문 무시 예제
1 2 3 4 5 6 7 8 9
for(let i=1; i<=10; i++){ if(i%2==0) continue; // i가 2의 배수일때의 실행문은 무시하고 증감식으로 넘어갑니다. document.write(i,"<br />"); // i값이 2의 배수가 아닌경우에만 실행됩니다. //1 3 5 7 9 }
for(let i=2; i<=9; i++){ // i는 2부터 9까지 1씩 커지게 반복시킵니다. document.write("<h1>"+i+"단</h1>"); // i값+"단" 을 h1태그로 묶어 표시합니다. for(let k=1; k<=9; k++){ // k는 1부터 9까지 1씩 커지게 반복시킵니다. document.write(i+"X"+K+"="+i*K,"<br/>"); /* i값 2부터 k값 1부터 9까지 i값 9까지 반복 실행되어 i값+"X"+K값+"=" 이 2X1 부터 순차적으로 실행되며 +i*k 는 각 값의 곱셈이 실행됩니다. */ } } ``` * * * ### 현재 연도와 월에 맞는 전체 일자 출력하기 ```js //현재 년도와 월을 입력받습니다. const year=prompt("현재 몇 년 입니까?","0000"); const mon=prompt("현재 몇 월 입니까?","0"); let last_day; /*현재 월이 몇일까지 있는지 선택문을 이용해 구합니다.*/ switch (mon){ case"1" : last_day=31; break; case"2" : last_day=28; /*현재 년도가 4년주기이고 100년 주기는 아닌경우 또는 400년 주기로 윤년이므로 2월은 29일까지 있습니다.*/ if(year % 4==0 && year % 100 !=0 || year % 400 ==0){ last_day=29; } break; case"3": last_day=31; break; case"4": last_day=30; break; case"5": last_day=31; break; case"6": last_day=30; break; case"7": last_day=31; break; case"8": last_day=31; break; case"9": last_day=30; break; case"10": last_day=31; break; case"11": last_day=30; break; case"12": last_day=31; break; } for(let i=1; i<=last_day; i++){ document.write(i+" "); }
자바스크립트 for 이용한 별 찍기
직각삼각형 만들기
1 2 3 4 5 6 7 8 9 10 11 12 13 14
let star=""; for(let i=1; i<=5; i++){ star +="*"; console.log(star); } /* * ** *** **** ***** */
역 직각 삼각형 만들기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
let star = ""; for (let i = 0; i < 5; i++) { for (let j = 0; j < i; j++){ star += " "; } for (let k = 1; k <= 5 - i; k++){ star += "*"; } star += "n"; } console.log(star); /* ***** **** *** ** * */
let star = ""; for (let i = 1; i <= 5; i++) { for (let k = 5; k >i; k--) { star += " "; } for (let j =1; j<(i*2); j++) { star += "*"; } star+="n"; } console.log(star); /* * *** ***** ******* ********* */
let star = ""; for (let i = 1; i <= 5; i++) { for (let k = 5; k >i; k--) { star += " "; } for (let j =1; j<(i*2); j++) { star += "*"; } star+="n"; } for (let s = 1; s <= 4; s++){ for(let x= 0; x <s; x++){ star+=" "; } for(let q=9; q>s*2; q--){ star+="*"; } star +="n"; } console.log(star); /* * *** ***** ******* ********* ******* ***** *** * */