본문 바로가기
Front/JavaScript

JavaScript - 제어문

by Hyeon_ 2021. 12. 8.

JavaScript

제어문

  • 프로그램의 흐름을 제어
  • 자바 언어와 완전 동일
  • if문 / swtich문

if 문

  • 기본 형식
if(조건식){
    조건의 결과 참일 때 수행되는 문장;
    1줄인 경우 괄호{} 없어도 됨
    2줄 이상인 경우 반드시!! 괄호 있어야 함
}
  • if-else 제어문
if(조건식){
    조건의 결과 참일 때 수행되는 문장;
} else{
    조건의 결과 거짓일 때 수행되는 문장;
}
  • if-else if-else 제어문
if(조건식1){
    조건식 1의 결과 참일 때 수행되는 문장;
} else if(조건식2){ // else로 넘어왔다는 것은 조건식 1에 해당되지 않는다는 의미
    조건식 1의 결과가 거짓이면서
    조건식 2의 결과가 참일 때 수행되는 문장;
} else{
    조건식 1, 2의 결과가 모두 거짓일 경우 수행되는 문장;
}
  • 중첩 if 제어문
    • if문 안에 if문 사용
if(조건식1){
    if(조건식2){

    }
} else{

}

if문 연습문제

  • 숫자 3개를 입력받아서 최대값 출력
ifEx.js
var num1 = prompt("숫자 1 입력");
var num2 = prompt("숫자 2 입력");
var num3 = prompt("숫자 3 입력");

if(num1 < num2 && num3 < num2){
document.write("최대값 : " + num2);
}else if(num1 < num3 && num2 < num3){
document.write("최대값 : " + num2);
} else {
document.write("최대값 : " + num1);
}
ifEx-2.js - for문 사용
let max = 0;
for(let i = 0; i < 3; i++) {
                     let num = prompt(`숫자${i+1} 입력`);
                     if(max < num)  max = num;
}
document.write(`최댓값 : ${max}`);

if문 연습문제2

ifEx3.js
  • 아이디, 비밀번호를 입력받아 값이 일치하면 로그인 성공, 일치하지 않으면 로그인 실패 입력하기
  • 단, 아이디, 비밀번호가 틀리면 경고창 띄우기
    • ("아이디 또는 비밀번호가 일치하지 않습니다.")
var id_real = 'abcd';
var pw_real = '1234';
var id = prompt("아이디 입력");

if(id == id_real) {
    var pw = prompt("비밀번호 입력");
    if(pw == pw_real) {
        document.write("로그인 성공");
    }
} else {
    alert("아이디 또는 비밀번호가 일치하지 않습니다.");
    document.write("로그인 실패");
}

if문 연습문제3

ifEx4.js
  • 로그인 성공하면 수도 퀴즈
  • 대한민국의 수도는?
    • 맞으면 정답입니다. 틀리면 틀렸습니다. 정답은 서울입니다 출력하기
var id_real = 'abcd';
var pw_real = '1234';
var sudo = '서울';
var id = prompt("아이디 입력");
var pw = prompt("비밀번호 입력");
if(id == id_real && pw == pw_real) {
alert(id+"님 반갑습니다");
var capital_input = prompt("대한민국의 수도는?");
if(capital_input == sudo) {
document.write("정답입니다.");
} else{
document.write("틀렸습니다. 대한민국의 수도는 서울입니다.");
}
} else {
alert("비밀번호가 일치하지 않습니다.");
document.write("로그인 실패");
}

if문 연습문제4

ifEx5.js
  • 상품번호와 주문수량을 입력받아서 주문액, 할인액, 총지불액을 구하여 출력하는 프로그램 작성
    1. 노트북 120000원
    2. 운동화 100000원
  • 할인액
    • 주문액이 백만원 이상이면 주문액의 10%
    • 50만원 이상, 100만원 미만이면 5%
    • 50만원 미만 0%
var prdNo = prompt("상품번호 입력", "1또는 2 입력");
function f1(){
    var prdCnt = prompt("주문수량 입력");
    document.write("상품명 : " + prdName);
    document.write("<br>");
    document.write("가격 : "+prdPrice);
    document.write("<br>");
    document.write("주문수량 : "+prdCnt+"개");
    document.write("<br>");
    var order = prdCnt*prdPrice;
    document.write("주문액 : "+order+"원");
    document.write("<br>");
    var discount = 0;

    if(order >= 1000000) discount = order * 0.1;
    else if (order >= 500000 && order < 1000000) discount = order * 0.05;
    else discount = 0;

    document.write("할인액 : "+discount+"원");
    document.write("<br>");
    document.write("총지불액 : "+(order-discount)+"원");
}
if(prdNo == 1 || prdNo ==2) {
    if(prdNo == 1){
        var prdName = '노트북';
        var prdPrice = 120000;
        f1();
    } else {
        var prdName = '운동화';
        var prdPrice = 100000;

        f1();
    }
} else {
    alert("잘못입력하셨습니다.");
}

switch문

  • 형식
switch(수식) { // (score) 또는 (score/10)
    case 1: 처리할 문장-1; break;
    case 2: 처리할 문장-2; break;
    case 3: 처리할 문장-3; break;
        ...
    default: 처리할 문장-n;
}
  • 수식으로는 값의 결과가 정수, 실수, 문자열, 객체 값이어야 함
  • case 뒤의 value로는 반드시 하나의 값만 사용 가능
  • case 다음에는 콜론(:) 사용
  • break문이 없는 경우 해당 case에서 실행이 멈추지 않고 다음 case까지 수행됨
  • break 없어도 되는 경우 : 여러 개 case 한 번에 처리할 경우
    • case 100 :
    • case 95; grade = "A+"; break;

switch 연습문제1

  • 숫자 입력 받아서 이미지 출력
  • "다음의 숫자를 입력하세요" (1 / 2 / 3)
switchEx.js
var num = prompt("다음의 숫자를 입력하세요", "1, 2, 3 중에 입력하시오");
switch(num) {
    case '1' :
        document.write('<img src="image/lizard.png">');
        break;
    case '2' : 2
        document.write('<img src="image/lizardon.png">');
        break;
    case '3' :
        document.write('<img src="image/megalizardon.png">');
        break;
    default :
        alert('잘못 입력했습니다.');
}

'Front > JavaScript' 카테고리의 다른 글

JavaScript - 특수문자 처리  (0) 2021.12.08
JavaScript - 반복문  (0) 2021.12.08
JavaScript -데이터 타입  (0) 2021.12.07
JavaScript - 사용법, 데이터 입력 방법  (0) 2021.12.07
JavaScript - 변수와 연산자  (0) 2021.12.07