반복문
- 반복문: 같거나 비슷한 코드를 여러번 실행시켜야할 경우 쓰는 구문
-반복할 조건을 코드로 작성
for(초기화; 조건식; 증감문){}
- 조건식이 truthy이면 명령문 실행
- 조건식이 falsy이면 반복문 실행종료
3.조건식이 truthy이고 명령문이 실행되었다면 증감식
4. 다시 조건식
- 조건식이 truthy이면 명령문 실행
- 조건식이 falsy이면 반복문 실행종료
반복
for(초기화(1); 조건식(2); 증감문(4)){ //반복할 내용(3)}
조건식이 성립할 경우 1>2>3>4>2>3>4>2... 순으로 진행되며
조건식이 성립되지 않을 경우 1>2 로 끝이나고(조건식이 성립하지 않았기 때문에) 반복문 밖으로 진행된다.
초기화
while(조건식){
증감문
}
두가지는 상황에 맞게 사용하면 된다. (초기화나 증감문의 반복이 필요없을 때는 while)
for 와 while의 차이점
for는 보통 횟수가 정해져있는 경우가 많고
횟수가 불분명할때는 while을 이용하는경우가 있다.
- 문자열을 입력받아 버그('#')의 인덱스를 리턴
'#' 기호가 없는 경우 undefined를 리턴function findTheBug(word) { for (let i = 0; i <= word.length; i++) { if (word[i] === '#'){ return i; } } return undefined; }
- 홀수인지 확인 reference 영역
function isOdd(num) { if(num < 0) { num = -num; } let i = 0; while (num !== 1) { if(num === 0) { return false; } num = num -2; } return true; }
- 홀수인지 확인 내 풀이
function isOdd(num) { let i = 0; while( 2*i +1 <= Math.abs(num)) { if (2*i + 1 === Math.abs(num)) { return true; } i++ } return false; }
- 두 개의 수를 입력받아 두 수를 포함해 두 수 사이의 수 중 2의 배수의 개수를 리턴
function makeMultiplesOfDigit2(num1, num2) { let start = num1; let end = num2; if (num1 > num2) { start = num2 end = num1 } if (start === 0) { start = 1; } let result = 0; for (i = start; i <= end; i++){ if (i % 2 === 0) { result = result + 1; } }return result; }
반복문이 여지까지 배웠던 것 중에서 제일 어려웠고 제일 재밌는 느낌이다 금요일과 주말을 이용해서 배운내용을 복습해야겠다.
참고사이트
https://hianna.tistory.com/370
https://colossus-java-practice.tistory.com/33
https://im-developer.tistory.com/69 [Code Playground]