2022. 8. 18. 12:20ㆍJavaScript
조건문 / 반복문
1.조건문
-if문
-switch문
1) if문
조건절 => 관계연산자/논리연산자 => true(0/false/null을 제외한 모든 값)/false
{}생략시 조건이 참일 때 다음 한줄만 계산
단일조건문 - 조건절 1개
if(조건절){
//조건에 true일 때 처리할 코드;
}
양자택일문 - 조건절 2개
if(조건절){
//조건에 true일 때 처리할 코드;
}else{
//조건에 false일 때 처리할 코드;
}
ex)
!(number<1 || number>100) = (number>=1 && number<=100)
ex) 영어 대/소문자
if(alpha>='a' && alpha<='z')
ex) 영문
if(alpha>='a' && alpha<='z' || alpha>='A' && alpha<='Z')
ex) 특수문자가 포함된 영문
if(alpha>='a' && alpha<='z' || alpha>='A' && alpha<='Z' || alpha=='#' || alpha=='@')
다중조건문 - 조건절 2개 이상
* else 절은 경우에 따라서 생략 가능
if(조건절1){ //조건1에 true 이면 처리할 코드 작성;}
else if(조건절2){ //조건2에 true 이면 처리할 코드 작성;}
else{ //위의 모든 조건에 맞지 않으면 처리할 코드 작성;}
ex)
var person = prompt('성별을 입력하세요(m/f)','');
if(person=='m'||person== 'M'){
console.log('당신은 남성입니다');
}else if(person=='f'||person=='F'){
console.log('당신은 여성입니다');
}else{
console.log('잘못 입력 하셨습니다');
}
console.log('종료됩니다.');
ex) 아래 예제에서 첫 조건절에 참일 때 그 아래 조건문은 계산하지 않는다
var num = Number(prompt('정수를 입력하시오',''));
if(num%2==0){
console.log('짝수입니다.');
}else if(num%2==1){
console.log('홀수입니다.');
}if(num%3==0){
console.log('3의배수입니다.');
}
console.log('종료됩니다')
ex) 중복 제거
var result = Number(prompt('영어점수를 입력 하세요',''));
if(result>=90 && result<=100){
console.log('당신의 학점은 A학점입니다.');
}else if(result>=80 && result<=89){
console.log('당신의 학점은 B학점입니다.')
}else if(result>=70 && result<=79){
console.log('당신의 학점은 C학점입니다.')
}else if(result>=60 && result<=69){
console.log('당신의 학점은 D학점입니다.')
}else{
console.log('당신의 학점은 F학점입니다.')
}
var result = Number(prompt('영어점수를 입력 하세요',''));
var grade = '';
if(result>=90 && result<=100){
grade='A';
}else if(result>=80 && result<=89){
grade="B";
}else if(result>=70 && result<=79){
grade="C";
}else if(result>=60 && result<=69){
grade="D";
}else{
grade="F";
}
console.log('당신의 학점은'+grade+'입니다.')
중첩 조건문
if/else/if else 문 안에 if 문을 추가할 수 있다
var result = Number(prompt('영어점수를 입력 하세요',''));
var grade = '';
if(result>=0 && result<=100){
if(result>=90 && result<=100){
grade='A';
}else if(result>=80 && result<=89){
grade="B";
}else if(result>=70 && result<=79){
grade="C";
}else if(result>=60 && result<=69){
grade="D";
}else{
grade="F";
}
console.log('당신의 학점은'+grade+'입니다.')
}else{
console.log('잘못 입력 하셨습니다')
}
var date = new Date();
var hour = date.getHours();
if (hour < 11) {
alert('아침 먹을 시간입니다.');
} else {
if (hour < 15) {
alert('점심 먹을 시간입니다.');
} else {
alert('저녁 먹을 시간입니다.');
}
}
활용문제
놀이동산 입장료 계산
if문
var age = Number(prompt('나이를 입력하세요',''));
var code = prompt('입장코드를 입력하세요(A:야간 / B:주간)','');
var pay =0;
var discount =0;
var name = ''; //개장명
if(age>=1 && age<=500){
if(code=='a' || code=='A'){
name='주간개장';
pay=30000;
}else if(code=='b'|| code=='B'){
name='야간개장';
pay=20000;
}
else{
console.log('잘못 입력하셨습니다.');
}
if(age>=1 && age<=3){
discount = .1;
}else if(age>=4 && age<=12){
discount = .5;
}else if(age>=13 && age<=19){
discount = .7;
}else if(age>=20){
discount = 1;
}
total = pay*discount;
console.log('당신은 '+ name +' 을 선택하셨고, 할인이 적용된 입장료는 '+ total +' 입니다.')
}else{
console.log('잘못 입력하셨습니다.')
}
if문 + swtich 문
var age = Number(prompt('나이를 입력하세요',''));
var code = prompt('입장코드를 입력하세요(A:야간 / B:주간)','');
var pay =0;
var discount =0;
var name = ''; //개장명
if(age>=1 && age<=500){
switch(code.toUpperCase()){
case 'A':
pay=30000;
name='주간개장';
break;
case 'B':
pay=20000;
name='야간개장';
}
if(age>=1 && age<=3){
discount = .1;
}else if(age>=4 && age<=12){
discount = .5;
}else if(age>=13 && age<=19){
discount = .7;
}else if(age>=20){
discount = 1;
}
total = pay*discount;
console.log('당신은 '+ name +' 을 선택하셨고, 할인이 적용된 입장료는 '+ total +' 입니다.')
}else{
console.log('잘못 입력하셨습니다.')
}
2) switch문
- 2개 이상의 조건을 처리할 때
- if-else if-else 문을 대체할 수 있는 구조의 조건문
- break - 해당 switch 문을 빠져나간다
- break 문이 생략되면 그 다음 case 절이 참이 된다 ( or , || )
- if 문의 경우 해당 조건절이 참일 때 자동으로 break 되지만 switch 문은 break로 해당 조건문을 종료 시켜주어야 한다.
- 형식
switch(변수/연산식/값){
case 값1:
//해당 값에 만족(참) 하면 실행할 코드;
break;
case 값 2:
//해당 값에 만족(참) 하면 실행할 코드;
break;
case 값 3:
//해당 값에 만족(참) 하면 실행할 코드;
break;
default:
//위에 해당 case 값에 모두 만족하지 않을 때 실행할 코드;
}
if+switch 예시
var result = prompt('영어 점수를 입력하세요(0~100)','');
var grade = '';
if(result>=0 && result<=100){
switch(parseInt(result/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';
}
}else{
alert('너 아까 그놈이지?');
}
alert('당신의 학점은 '+grade+' 입니다.')
2.반복문(loop문)
- for()문 / for()in 문
- while()문
- do-while()문
1) for()문
- 초기값 / 최종값(조건절) / 증감치 => 반복할 횟수
- 중첩가능 / 조건문과 중첩가능
- 반복 횟수가 명확할 때 사용
- 형식
for(var 변수=초기값; 최종값/조건절; 증감치){
//반복할 코드 작성;
}
for문
var total1=0; //홀수
var total2=0; //짝수
for(var i=1; i<11; i++){
total1+=i;
total2+=i;
}
for 문 + if 문
var total1=0; //홀수
var total2=0; //짝수
var total3=0; //3의배수
for(var i=1; i<11; i++){
if(i%2==1){
total1+=i;
}else{
total2+=i;
}
if(i%3==0){
total3+=i;
}
}
console.log('1~10까지의 홀수의 합:' +total1);
console.log('1~10까지의 짝수의 합:' +total2);
console.log('1~10까지의 3의 배수 합:' +total3);
javascript 로 구구단 만들기
var i=prompt('구구단의 단을 입력 하세요','');
document.write("<h2>" +i+ "단 </h2>");
document.write("<table>");
for(var j=1; j<10; j++){
document.write("<tr>");
document.write("<td>" + i + "*" + j + " = " + i*j +"</td>");
document.write("</tr>");
}
document.write("</table>");
학급 영어 평균
var result =0;
var grade ='';
var cnt =0;
var total=0;
var avg=0;
cnt=Number(prompt('학급 명 수를 입력하세요(명)',''));
for(var i=1; i<=cnt; i++){
result = Number(prompt(i+' 번째 학생의 영어 점수를 입력하세요(0~100)',''));
if(result >= 0 && result<=100){
if(result>=90 && result<= 100){
grade='A';
}else if(result>=80 && result<=89){
grade='B';
}else if(result>=70 && result<=79){
grade='C';
}else if(result>=60 && result<=69){
grade='D';
}else{
grade='F';
}
alert(i+'번째 학생의 학점은 '+ grade + '학점 입니다.');
total+=result; // result 값이 참일 때 만 계산하기 위해 if문 안에 작성
}else{
alert('너는 또라이 입니까?');
i--; // 잘못 입력 했을 때 반복 횟수를 1회 줄여 다시 그 반복차수로 돌아가기 위해 -1 처리 i-=1; 도 가능
}
}
avg=total/cnt;
alert('학생 수는'+cnt+' 명 이고, 학생들의 영어점수의 총점은 :'+total+' 점 이고, 평균은:'+avg+' 점 이다');
alert('종료됩니다');
for문 안에 for문
var i=0, j=0, total=0;
for(i=2; i<10; i++){
console.log(i+'단')
for(j=1; j<10; j++){
console.log(i+'*'+j+'='+i*j);
}
}'JavaScript' 카테고리의 다른 글
| Javascript window 객체 (0) | 2022.08.30 |
|---|---|
| Javascript object (0) | 2022.08.29 |
| Javascript function (0) | 2022.08.22 |
| Javascript 배열, 반복문 (0) | 2022.08.19 |
| Javascript 기초 자료형,연산자,내장함수, 배열 (0) | 2022.08.18 |