본문 바로가기

학원/복기

[JavaScript] 제어문

자바스크립트 제어문


제어문 : 프로그램의 흐름을 변경하기 위해 사용하는 명령 

선택문 - if, switch
반복문 - for, while
기타 - break,continue


예제1)

사용자로부터 숫자값을 입력받아 숫자값에 대한 제곱근을 계산하여 출력 
→ 숫자형이 아닌 값을 입력한 경우 에러메세지 출력 

var num=prompt("숫자값을 입력해 주세요.");

alert(num*num); //num은 string 이지만 * 연산을 하면 숫자값으로 자동 형변환된다.

if(isNaN(num)) {
	alert("입력값이 숫자가 아닙니다.");
} else {
	alert(num*num);	
}

 

prompt(message[, value]) : 입력창을 제공하여 사용자로부터 값을 입력받아 문자값으로 반환하는 함수 

isNaN(value) : 매개변수로 전달받은 값을 숫자형으로 형변환 가능하면 [false]를 반환하고 숫자형으로 형변환이 불가능하면 [true]를 반환하는 함수 


예제2)
학생 성적에 대한 총점, 평균, 학점을 계산하여 출력  

var kor=98, eng=80, mat=91;//학생 성적 

var tot=kor+eng+mat;//총점 
var ave=tot/3;//평균 - 자바스크립트는 숫자형이기 때문에 3.0을 나누지 않아도 실수가 출력된다.

alert("총점 = "+tot+", 평균 = "+ave);//총점 = 269, 평균 = 89.66666666666667

var grade="";
switch (parseInt(ave/10)) {
case 10:
case 9: grade="A";break;
case 8: grade="B";break;
case 7: grade="C";break;
case 6: grade="D";break;
default: grade="F";break;
}
	
alert("총점 = "+tot+", 평균 = "+ave+", 학점 = "+grade);

parseInt(value) : 매개변수로 받은 숫자값을 정수값으로 변환하여 반환하는 함수 


예제3)
1~100 범위의 정수들의 합계를 계산하여 출력

var tot=0;
for(i=1;i<=100;i++) {
	tot+=i;
}
alert("1~100 범위의 정수들의 합계 = "+tot); //1~100 범위의 정수들의 합계 = 5050

예제4)
A4 용지를 반으로 계속 접어 펼쳤을 경우 사각형 모양이 500개 이상이 되려면 몇 번 접으면 되는지 계산하여 출력 

while(true) {
	cnt++;
	gae*=2;
	if(gae>=500) break; 
}
	
alert(cnt+"번 접으면 "+gae+"개의 사각형 모양이 만들어집니다.") //9번 접으면 512개의 사각형 모양이 만들어집니다.

예제5) 
1~10 범위의 정수 중 홀수만 출력

var result="";
for(i=1;i<=10;i++) {
	if(i%2==0) continue;
	result+=i+" ";//변수에 저장된 문자값에 새로운 문자값을 결합하여 저장 
}
alert("1~10 범위의 홀수 = "+result);//1~10 범위의 홀수 = 1 3 5 7 9