안녕하세요, 여행벌입니다.

오늘은 제어문의 한 종류인 반복문(for)에 대해서 다뤄보겠습니다.

개인적으로 제일 자주 사용하는 제어문입니다.


for 문

 for 문은 조건식을 만족할 때까지 특정 코드를 반복하여 실행합니다. 사용 방법을 while 문과 같지만 while 문보다 사용하기 편해 사용 빈도가 대체로 높은 편입니다.

기본 형태는 다음과 같습니다.

for(초기값; 조건식; 증감식){
    자바스크립트 코드;
}

 while 문에서도 조건식, 증감식, 자바스크립트 코드가 동일하게 필요했고, 또 조건식을 위해 초기값을 설정했었습니다. for문은 초기값에서 시작해 조건식을 만족한다면 자바스크립트 코드를 수행하고 증감식을 수행합니다. 즉! while 문과 for 문은 모양만 다를 뿐 동일하게 작동합니다.

 

 예시를 통해서 익혀보겠습니다.

let i;
for(i = 0; i < 10; i++)
    console.log(`${i+1}번 째 입니다.`);

 

 먼저, 변수 i를 선언했습니다. i 에 초기값으로 0을 주고, 조건식 i < 10을 만족하므로 자바스크립트 코드를 수행하고, i++ 을 실행합니다. 결과는 다음과 같습니다.

 변수를 선언하는 과정을 따로 다른 줄에 작성하지 않고 다음과 같이 구현할 수도 있습니다.

for(let i = 0; i < 10; i++)
    console.log(`${i+1}번 째 입니다.`);

 결과는 동일합니다.

 

 for문을 이용해서 구구단을 만들어 보도록 하겠습니다.

let mul = 5;
for(let i = 1; i < 10; i++)
    console.log(`${mul} X ${i} = ${mul * i}`);

 i가 1부터 9까지 자바스크립트 코드가 실행되므로 다음과 같이 출력됩니다.

 

 이중 for문을 이용하면 구구단을 1단부터 9단까지 전부 출력할 수 있습니다.

for(let i = 1; i < 10; i++){
    for(let j = 1; j < 10; j++){
     console.log(`${i} X ${j} = ${i * j}`);
    }
}

 i가 1일 때 안에 있는 for문이 실행되므로 j 를 1부터 9까지 9번 코드를 수행하게 됩니다.

또, i가 2일 때 바깥 for문의 조건식을 아직 만족하므로 마찬가지로 안쪽 for문이 실행됩니다.

 이 과정을 i를 1부터 9까지 반복하며 각각 안쪽 for 문에 의해 console.log 함수가 실행됩니다.

 이중 for문을 이용해서 구구단을 쉽게 출력할 수 있습니다.


이제 if , switch, while, for 문 4가지 제어문에 대해서 모두 배웠습니다.

4가지 제어문만 논리적으로 잘 이용한다면 원하는 모든 알고리즘을 작성할 수 있습니다.

다음 포스팅에서는 반복문에서만 사용하는 break, continue 문에 대해서 다뤄보도록 하겠습니다.

 

안녕하세요, 여행벌입니다.

오늘은 제어문의 한 종류인 반복문(while)에 대해서 다뤄보겠습니다.


반복문이란

 반복문을 이용하면 코드를 원하는 횟수만큼 반복하여 실행할 수 있습니다.

 특정 코드를 100회 수행해야 되는 경우에 같은 코드를 100번 적어야 한다면 굉장히 비효율적으로 시간 낭비겠죠? 이럴 때 반복문을 이용한다면 쉽게 특정 코드를 100번 수행할 수 있습니다. 반복문은 크게 while 문과 for 문으로 구분할 수 있습니다. 이번 포스팅에서는 while 문에 대해서 익혀보도록 하겠습니다.

while 문

 while문은 조건식을 만족할 때까지 코드를 여러 회 반복하여 실행할 수 있습니다.

 기본 형태는 다음과 같습니다.

while(조건식){
    자바스크립트 코드;
    증감식;
}

 while 문은 조건식을 만족한다면 { } 안에 있는 코드를 수행합니다. 반복문에서는 항상 증감식이 포함되어야 하는데요! 증감식의 역할은 우리가 원하는 만큼 코드를 수행했다면 조건식을 false로 바꿔주는 역할을 합니다.

 

 예시를 통해서 익혀보겠습니다.

let i = 0;
while(i < 10){
    console.log(`${i + 1}번 째 입니다.`);
    i++;
}

 이 while 문에서 조건식은 i < 10 이 됩니다. 처음에는 i = 0 이므로 조건식이 true가 되고 while 문이 수행됩니다. 하지만, i 를 변경해주는 i++(증감식) 코드가 없다면 while 문은 항상 조건식을 만족하므로 무한루프에 빠져 무한히 수행하게 됩니다. 그렇기 때문에 반복문은 항상 증감식이 필요합니다.

  i 가 0이므로 조건식을 만족하고 (i + 1)번 째입니다. 즉 1번째 입니다가 출력됩니다. 그 후 i 는 1로 바뀌고 같은 과정을 반복하다 i가 10이 되는 순간 조건식이 거짓(false)가 되면서 while 문이 수행을 멈춥니다.

 

 이번에는 조건문(if)와 반복문(while)을 같이 사용해보겠습니다.

let i = 0;
while(i < 10){
    if(i % 2 == 0)
        console.log(`${i}는 짝수입니다.`);
    else
        console.log(`${i}는 홀수입니다.`);
    i++;
}

 위와 마찬가지로 i를 0부터 1씩 증가시켜 10보다 작다면 while 문 코드를 수행할 것입니다. 이때, 조건문(if) 를 이용해 짝수라면 짝수를 출력해주고, 홀수라면 홀수를 출력해주는 코드를 구현해보았습니다.

do-while 문

 while 문의 경우에는 조건식의 만족 여부를 먼저 검사한 후 중괄호에 있는 코드의 실행 여부를 결정합니다.  하지만 do-while 문은 반드시 한 번 코드를 먼저 실행하고 조건식을 검사합니다.

기본 형태는 다음과 같습니다. while 문과 비슷한 것을 확인할 수 있습니다.

do{
    자바스크립트 코드;
    증감식;
}while(조건식)

 예시를 통해서 익혀보겠습니다.

 위에서 while 문 예시로 다뤘던 코드를 i = 10으로 바꿔서 do while 문에서 실행해보겠습니다.

let i = 10;
do{
    console.log(`${i + 1}번 째 입니다.`);
    i++;
}while(i < 10)

 조건식을 만족하지 않으므로 코드가 실행되면 안 됩니다. 하지만, do-while 문은 반드시 한 번 코드를 먼저 실행하므로 결과는 다음과 같습니다.

 do-while 문은 while 문과 작동 원리가 동일합니다. 다만 반드시 한 번 코드를 먼저 실행하는 점만 다릅니다. 상황에 맞는 반복문을 사용하시면 될 것 같습니다. 아이디를 입력받아 아이디가 틀리다면 계속 입력을 다시 받는 경우를 생각해보면 일단 아이디를 한 번은 입력을 받아야 됩니다. 따라서 do-while 문이 더 적합한 상황이라고 볼 수 있습니다. if 문과 switch 문처럼 while 문과 do-while 문도 동일한 작업을 수행할 수 있습니다. 하지만, 상황에 맞춰서 더 필요한 제어문을 이용하시면 될 것 같습니다.


이상으로 반복문 중 while 문 포스팅을 마치도록 하겠습니다.

 

안녕하세요, 여행벌입니다.

오늘은 제어문의 한 종류인 선택문(switch)에 대해서 다뤄보겠습니다.


Switch 문

 선택문인 switch 문은 변수에 저장된 값과 switch 문에 있는 경우(case)의 값을 검사하여 변수와 경우의 값에서 일치하는 값이 있을 때 그에 해당하는 코드를 실행합니다. if 문과 용도는 비슷하나 if 문은 만족하는 데이터가 여러 개일 경우에 주로 사용하고, switch 문은 여러 경우의 값 중 일치하는 데이터를 찾아 그에 해당하는 코드를 실행시킬 때 사용합니다. 기본 형태는 다음과 같습니다.

let 변수 = 데이터;
switch(변수){
    case 값1 : 코드1; break;
    case 값2 : 코드2; break;
    case 값3 : 코드3; break;
    case 값4 : 코드4; break;
    default : 코드5;
}

 변수에 저장된 값은 switch 문을 만나면 case의 값을 하나씩 검사합니다. 일치하는 데이터가 있으면 그에 해당하는 코드를 실행하고 break 문을 만나 switch 문을 종료합니다. 일치하는 데이터가 없다면 마지막 default 에 있는 코드를 실행하고 switch 문을 종료합니다.

 

 변수의 값이 값1과 같다면 코드1을 수행, 값2와 같다면 코드2를 수행, 값3과 같다면 코드3을 수행, 값 4와 같다면 코드4를 수행, 어떤 값과도 같지 않다면 코드5를 수행합니다. if 문과 비슷하게 돌아가는 것을 확인할 수 있습니다.

 

예시를 통해서 익혀보겠습니다.

let today = "일"
switch(today){
    case "월" : console.log("오늘은 월요일입니다.\n"); break;
    case "화" : console.log("오늘은 화요일입니다.\n"); break;
    case "수" : console.log("오늘은 수요일입니다.\n"); break;
    case "목" : console.log("오늘은 목요일입니다.\n"); break;
    case "금" : console.log("오늘은 금요일입니다.\n"); break;
    case "토" : console.log("오늘은 토요일입니다.\n"); break;
    case "일" : console.log("오늘은 일요일입니다.\n"); break;
    default : console.log("잘못입력하셨습니다.\n");
}

today에 문자 "일"이 들어가 있으므로 case "일" 에 해당됩니다.

today를 한 번 바꿔보겠습니다.

let today = "금요일";

어떤 값과도 같지 않으므로, default 코드가 실행됩니다.


이번 포스팅은 선택문에 대해서 알아보았습니다.

선택문은 if 문과 비슷하지만 쓰이는 용도가 조금 다르므로 잘 익혀두시면 좋을 것 같습니다.

 

안녕하세요, 여행벌입니다.

이번에는 자바스크립트(javascript)의 제어문 중 하나인 if 문에 대해서 포스팅해보겠습니다.


조건문이란 

 제어문은 프로그램의 흐름을 제어할 수 있도록 도와주는 문장을 말합니다. 

 조건을 만족하는지의 여부에 따라 코드를 제어할 수 있는 제어문의 한 종류를 조건문이라합니다.

 즉, 조건문은 조건식의 값이 참(true)인지, 거짓(false)인지에 따라 자바스크립트 코드를 제어합니다.

if문

if 문은 조건식을 만족(true)할 경우에만 코드를 실행합니다. 기본 형태는 다음과 같습니다.

if (조건식){
	자바스크립트코드;
}

예시를 통해서 익혀보겠습니다.

var num = 10;
if(num < 500){
	console.log("hello");
 }

num 변수에는 10이라는 데이터를 저장했습니다. 조건식 num < 500 을 만족하므로 if 문은 자바스크립트 코드를 실행합니다. 따라서, "hello" 가 console 창에 출력되는 것을 확인할 수 있습니다.

조건식에 논리형 데이터(true, false)가 아닌 다른 타입이 오면 if 문이 어떻게 작동할까요??

정답은 조건식에 논리형 데이터(true, false)가 아닌 다른 형의 데이터가 입력되어도 true 또는 false로만 인식이 됩니다!!

0 null ""(빈문자) undefined

위의 4개를 제외하고는 모두 true 로 인식하고 4개는 false로 인식합니다.

else문

else 문은 조건식을 만족하는(true) 경우와 만족하지 않는(false) 경우에 따라 실행 코드가 달라집니다.

즉, 두 가지 결과가 나올 수 있는 조건문으로 기본 형태는 다음과 같습니다.

if (조건식){
	자바스크립트코드1;
}else{
	자바스크립트코드2;
}

조건식이 참이라면 자바스크립트코드1이 실행되고, 거짓이라면 자카스크립트코드2가 실행됩니다.

예시를 통해서 익혀보겠습니다.

let num = 2;
if(num % 2 == 0){
    console.log("짝수입니다.\n");
}else{
    console.log("홀수입니다.\n");
}

num 이 2이므로 조건식이 참이되고 if 문이 실행될 것입니다.

이번에는 num 을 3으로 바꿔서 실행해보겠습니다.

let num = 3;
if(num % 2 == 0){
    console.log("짝수입니다.\n");
}else{
    console.log("홀수입니다.\n");
}

"홀수입니다.\n" 가 출력되는 것을 확인할 수 있습니다.

else if 문

else if 문은 두 가지 이상의 조건식과 정해 놓은 조건을 만족하지 않았을 때 실행되는 코드로 이루어져 있습니다.

기본 형태는 다음과 같습니다.

if(조건식1){
	코드1;
}else if(조건식2){
	코드2;
}else if(조건식3){
	코드3;
}else{
	코드4;
}

원한다면 무수히 많은 조건식을 추가할 수 있습니다.

예시를 통해서 익혀보겠습니다.

let num = 5;
if(num === 0){
    console.log("num은 0입니다.\n");
}else if(num < 3){
    console.log("num은 3보다 작습니다.\n");
}else if(num < 5){
    console.log("num은 3보다 크거나 같고 5보다 작습니다.\n");
}else{
    console.log("num은 음수이거나 5보다 크거나 같습니다.\n");
}

조건문 1은 num이 0이면 참이되므로 num이 0일 때에만 작동합니다.

조건문 2는 num이 3보다 작으면 참이되므로 num이 0이 아니고(조건식1을 통과하고) 3보다 작을 때 작동합니다.

조건문 3은 num이 5보다 작으면 참이되므로 num이 0이 아니고(조건식1을 통과하고) 3보다 작지도 않고(조건식 2를 통과하고) 5보다 작으면 작동합니다.

조건문 4는 이외의 모든 경우에 작동합니다.

조건문은 한 번만 동작합니다. 즉, 조건식1과 조건식2가 동시에 만족되더라도 항상 코드1이 작동하눈 순간 조건문을 종료됩니다. 

아래 예시를 통해 자세히 익혀보겠습니다.

let num = 5;
if(num < 10){
    console.log("num은 10보다 작습니다.-1\n");
}else if(num < 10){
    console.log("num은 10보다 작습니다.-2\n");
}

num이 5이고 조건식1과 조건식 2가 동일하므로 조건식1, 조건식2 모두 참(true)가 되는 상황입니다.

조건식1과 조건식2를 모두 만족하지만 수행되는 코드는 코드1 뿐입니다.


오늘은 조건문에 대해서 알아보았습니다.

조건문은 정말정말 많이 쓰이는 제어문으로 포스팅 예시 외에도

여러가지 예시를 혼자 연습하시는 걸 추천드립니다.

+ Recent posts