즐코

Operators (연산자)에 대해서 - 2 (if, for, while구문) 본문

JavaScript

Operators (연산자)에 대해서 - 2 (if, for, while구문)

YJLEE_KR 2022. 1. 4. 20:32

5. 조건 연산자

6. Switch case

7. loops 반복문 

 

if/for/while 등 다시 따로 공부해봄..

 

5. Conditional operators 조건 연산자 (if/else if/else)

  if/else 문은 이미 앞에서 배움 (복습하자면, if 에는 무조건 true인 조건만 넣을 것)

 

    + else if 문 추가 : 조건을 여러개 두고 결과는 한번에 얻길 원할 때  쓴다.

if(point==100){
      console.log("A")
    }else if(point==90){
      console.log("B")
    }else if(point==80){
      console.log("C")
    }else{
      console.log("F")
    }

let point = 90; 일 경우,
첫번째 else if 에서 B를 출력하고 멈춘다. 뒤쪽은 보지도 않고 종결함 

 

6. Switch statement

보통 if else 를 여러번 반복할 땐 이 스위치 구문을 쓰는 게 좋다고 한다.

switch (expr) 에는 각각의 case절에 맞춰볼 변수 넣고

case 'expr 변수와 비교할 것들' 넣고

특정 case 절과 switch의 expr 값이 일치하면 출력문 실행되고 break 올때까지 case 절 내부가 실행됨 

마지막 default는 어떤 case도 변수와 일치되지 않는다면, default 절이 실행된다.

const expr = 'Papayas';
switch (expr) {
  case 'Oranges':
    console.log('Oranges are $0.59 a pound.');
    break;
  case 'Mangoes':
  case 'Papayas':
    console.log('Mangoes and papayas are $2.79 a pound.');
    break;
  default:
    console.log(`Sorry, we are out of ${expr}.`);
}​

 

Mangoes and papayas are $2.79 a pound. 출력하고 멈춤

 

7. Loops

 

#1. while 반복문 / do while

 

조건문이 맞을 때만 블럭 실행시키고 싶다면, while문 쓰고

블럭을 먼저 실행하고 싶다면 do while 을 쓴다.

#1-1. while 반복문

while loop / while the condition is truthy, body code is executed

False가 나오기 전까지 무한대로 계속 도는 것

let i = 3;
while (i > 0) {
    console.log(`while:${i}`)
    i--;
}​

i=3 => i가 0보다 큼? yes => while:3 출력 => 3-1 실행 => i=2
i=2 => i가 0보다 큼? yes => while:2 출력 => 2-1 실행 => i=1
i=1 => i가 0보다 큼? yes => while:1 출력 => 1-1 실행 => i=0
i=0 => i가 0보가 큼? No 멈춰 => while:0 은 출력하지 않음 / 대신 i=0으로 컴퓨터가 저장하는중


#1-2. do while

do while loop / body code is executed first, then check the condition
do{
   console.log(`do while:${i}`)
   i--;
} while(i > 0)​

 

 

위 while 구문에서 i=0 출력은 안했어도 메모리는 i=0으로 저장 중이므로 i=0부터 시작한다.
do => i=0 출력하자! do while:0 출력 => 0-1 실행 => i=-1 이고 i >0 이여야하므로 멈춤 

즉, i가 0임에도 불구하고 do 안에 있는 코드 블럭은 무조건 실행해서 출력이 먼저 되버리고
그 이후에 i가 while 구문의 조건에 맞는지 검사해서 다시 반복하거나 멈추는 원리이다.

 

#2. for 구문 

지난 번에 배운 거 복습 + 추가 공부

 

for(초기문; 조건문; 증감문)

목적 : 내가 같은 코드를 몇 번 반복 시킬 것인가

1- for 문 안에 변수 선언이 가능하다. 
 증감문에 i = i -2 대입함
for (let i=3; i>0; i=i-2){
	console.log(`var_declaration:${i}`)
}​

2- nested loop / for문안에 for문 넣기가 가능하다.
for (let i = 0; i < 10; i++){
  for (let j = 0; j < 10; j++){
    console.log(`i:${i}, j:${j}`);
  }
}​

 

i:0, j:0
i:0, j:1
...
i:9, j:8
i:9, j:9 출력하고 종료함

 

#3. break / continue : loop 종료시키기

#3-1 break :
loop를 완전히 끝내는 것 
for (let i=0; i<10; i++){
if(i>8){
    break
}
console.log(i)
}​
0,1,2,3,4,5,6,7,8 까지 출력하고 멈춤

#3-2 continue :
지금 것만 stop하고 다음 step으로 넘어가는 것
// 굳이 continue를 이용해서 0~10까지 짝수만 나오게 하려면
for (let i=0; i<11; i++){
 if (i%2 !== 0){
   continue;
 }
  console.log(i)
 }​

i=1 홀수가 등장하면 continue를 만나서 출력하는 것을 stop하고 다시 for문으로 돌아가 i = 1+1을 하고,
i=2 짝수일땐 출력하고 다시 for문으로 돌아가는 구조  

 

 

 

 

Comments