오늘은 조건문과 반복문에 대해서 배워보았다!
조건문은 주어진 조건에 따라 코드 블록안에 값을 실행한다!
코드블록
조건은 ( ) 소괄호 안에 나타 내며 true / false 로 구분 될 수 있는 형태여야 한다.
let a = 'red';
if (a=== 'red') {
console.log ("입력한 색은 빨간색 입니다");
여기서 조건문 if는 변수 a 문자열 red 가 트루 여야만
{ } 중괄호안에 값이 나온다.
( ) 소괄호 안에 조건이 red 일때 문자열이 연산자 === (strict equal operator)
여기서 하나더 == 이건 ->"equal operator"이다
문자열이 red가 트루일때 빨간색이라는 입력 값이 나온다.
만약에 변수 a 를 blue 라고 할경우 출력되지 않는다
웃긴것은 Red 대문자 R로 했을때도 출력 되지 않는다 . 이럴때는
if(a.toLowerCase() === 'red')
를 써주게 되면 대문자를 소문자로 만들어 true로 인식하고
값이 출력된다.
조건이 맞으면 if문을 실행하고 조건이 맞지않으면 else 문을 실행한다.
let a = 11 ;
if (a%2) {
console.log('a는 홀수입니다')
}else {
console.log('a는 짝수입니다')
}
이럴때는 a 가 홀수 이기 때문에 변수에 a 에 2를 나눠 나머지 값이 1일경우
if 홀수 0일경우 짝수가 출력된다
let a = 10;
if(a%2) {
console.log('a는 홀수')
}else {
console.log('a는 짝수')
}
이경우에는 a는 짝수 가 출력된다.
이경우에는 조건식이 3개 이상일경우 쓰이게된다
let a = 1;
if (a >= 1 && a <= 5 ) {
console.log('a는 1보다 같거나 크고 5보다 같거나 작습니다')
}else if (a >= 6 && a <=8 ) {
console.log('a는 6보다 같거나 크고 8보다 같거나 작습니다')
}else if (a === 9){
console.log('a는 9입니다')
}else {
console.log('a가 0이하이가나 10 이상입니다')
}
이경우에는 조건이 3개이다 이럴 경우에는 else if 를 사용해 조건을 여러개 반복해
조건에 맞는 식의 값이 출력된다.
switch 문은 if else if else와 비슷하다
조건에 따라 case 안의 내용이 실행되며 조건을 만족하지 못할경우 default 값이 선언된다.
//1부터 7까지 요일을 입력하세요
let day= 7
switch(day){
case 1:
day = "monday"
break;
case 2:
day = "tuseday"
break;
case 3:
day = "Wendnesday";
break;
case 4:
day = "Thursday";
break;
case 5:
day = "Friday";
break;
case 6:
day = "Saturday";
break;
case 7:
day = "Sunday";
break;
default:
day = "요일이 아닙니다.";
break;
}
console.log(day);
보면 break 문이 있는데 a 변수의 값이 일치하는 조건을 찾으면 break 문으로 빠져나온다
break 문이 없으면 다음 브레이크가 있는 수식에서 빠져나오게되고 그 값이 출력된다
모두 break 값이 없을때는 default 값이 출력된다.
일정한 로직을 반복해서 사용할경우 반복문을 사용한다
for(let i=0 ; i<10; i++) {
console.log('${i+1}번째 실행입니다
}
이렇게 for문을 입력하면 ( ) 소괄호 안에있는 i는 0 으로 시작해
i<10 -> 9까지 -> i++ 증가하여 0부터 9 까지 반복하여 출력해 빠져나온다.
${i+1}은 컴퓨터는 0부터 출력하기때문에 +1 하여 1부터 10번째 실행입니다. 값이 나온다.
먼저 코드를 보자
for( i=0 ; i<4 ; i++ ){
for ( j=0; j<8 ; j++){
console.log (` ${i+1} 반에 j= ${j+1} 번의 학생이 있습니다.`)
}}
이렇게 쓸수있다 만약에 한 반에 8명의 학생이 있는 반이라면
1반학생에 8명 1번부터 8번까지의 학생이 나오는걸 알수있다 (이상한가?)
조건문과 반복문을 같이 사용할수있다.
let a = "woWowoWowoo"
let searcho = 'o'
for (let i=0 ; a<length; i++) {
if( a[i] === searcho {
console.log(`${i+1}번째 안에 ${searcho}가 있습니다`)
}}
2번째에 o가 있습니다.
4번째에 o가 있습니다.
6번째에 o가 있습니다.
8번째에 o가 있습니다.
10번째에 o가 있습니다.
11번째에 o가 있습니다.
이렇게 총 6개의 o가있다는걸 출력해준다!
while 문은 for문과 같은형태라고 보면된다
하지만 쓰일때가 있다고 한다!
let i = 0;
while ( i< 10 ) {
console.log (`${i+1}번째 실행입니다.`)
i++
}
1번째 실행입니다.
2번째 실행입니다.
3번째 실행입니다.
4번째 실행입니다.
5번째 실행입니다.
6번째 실행입니다.
7번째 실행입니다.
8번째 실행입니다.
9번째 실행입니다.
10번째 실행입니다. 이와 똑같이 1번째부터 10번째 반복이 일어난다
for문 for (i=0; i<10; i++) 와 같이 시작 조건 증가 이 순서가
시작은 변수에
조건은 똑같이 while의 ( ) 소괄호에
조건은 실행값 아래 들어갔다.
여기서 증감식이 없다면 1번째 값만 뱉어내고 빠져나온다
do while은 while문과는 다르게 코드를 실행하고 조건을 비교한다
let i = 0;
do {
console.log(`${i+1}번째 실행입니다.`)
i++
}while (i<10)
이렇게 while 조건문이 마지막에 들어온다 조건문을 없애면 무슨일이 일어날까
무한루프에 빠질까 상상을 해보고 시도 해봤지만 조건문을 붙이라고 실행이 안된다. 🤣
반복문을 중단하거나 일부를 중단시키고자 할때 쓴다
for (let i = 0; i < 10; i++) {
if (i === 4) {
console.log(`${i + 1}번째 실험입니다.`);
break;
}
}
그냥 실험을 했다 원래 출력값은 break로 값을 멈춘뒤에
출력하면 0부터 3까지 4가지 i변수에 +1 한
1번째 ~ 4번째 실험으로 나온다
break 전에 출력값을 놓으면 i 는 0부터 9 의 숫자 중 === 연산을 통해
4값만 변수 i가 가져와 i+1 5번째 숫자 값이 나온다
for (let i = 0; i < 10; i++) {
if (i === 4) {
break;
}
console.log(`${i + 1}번째 실험입니다.`);
}
맞는것은 출력할 값을 if문 바깥에 for문 안쪽에 써넣어준다.
for (let i = 0; i < 10; i++) {
if (i % 3 === 0) {
continue;
}
console.log(`${i + 1}번째입니다.`);
}
0 1! 2! 3 4! 5! 6 7! 8! 9
continue 문을 쓰면
조건에 변수 i % 3 === 0 -> 0부터 9까지 증가하는 값들에 3을 나눴을 때 0이 되는 정수 값이 true이고
조건문에 맞는 값인 3 6 9 가 출력 되어야하는데 if문은 3 6 9가 나오는 반면 continue 문을 쓰면
멈추지않고 계속해서 값을낸다.
cotinue 안에 출력 값을 놓게 되면 1 ,4 ,7 ,10 번째 즉 0, 3, 6, 9 나누면 나머지가 0이되는 값들이 모여있다.
이렇게 많은 조건문과 반복문을 끝냈다
하지만 여기서 선생님처럼 응용해서 즉흥적으로 만들수있는 날이 얼른왔으면 좋겠다~!