조건문과 반복문!

고정훈·2023년 10월 26일

오늘은 조건문과 반복문에 대해서 배워보았다!

조건문은 주어진 조건에 따라 코드 블록안에 값을 실행한다!
코드블록
조건은 ( ) 소괄호 안에 나타 내며 true / false 로 구분 될 수 있는 형태여야 한다.

조건문

if 문

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 문

조건이 맞으면 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는 짝수 가 출력된다.

if else if else 문

이경우에는 조건식이 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 문

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문

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번째 실행입니다. 값이 나온다.

* 2중 for문

먼저 코드를 보자

	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 문

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

do while은 while문과는 다르게 코드를 실행하고 조건을 비교한다

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

이렇게 while 조건문이 마지막에 들어온다 조건문을 없애면 무슨일이 일어날까
무한루프에 빠질까 상상을 해보고 시도 해봤지만 조건문을 붙이라고 실행이 안된다. 🤣

그리고 대망의 마지막 여기서 좀 헷갈린다 ..

break & continue

break문

반복문을 중단하거나 일부를 중단시키고자 할때 쓴다

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문 안쪽에 써넣어준다.

continue문

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이되는 값들이 모여있다.

이렇게 많은 조건문과 반복문을 끝냈다

하지만 여기서 선생님처럼 응용해서 즉흥적으로 만들수있는 날이 얼른왔으면 좋겠다~!

profile
Every day Learning and kaizen

0개의 댓글