정확히 몇번 반복,회전해야 하는지 범위를 알때 사용
for(초기식;조건식;증감식){
조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 명령문;
}
// i = i+1 -> i++
for(let i =0;i<10;i++){
console.log("누나!")
} // 1-9까지 표시
for(let i = 1;i<=10;i++){
console.log("누나!",i)
} // 1-10까지 표시
// i = i+1 -> i++
// 짝수(1)
for(let i = 0;i<=10;i++){
if(i%2==0){
console.log("누나!",i)
}
}
// i+=2 -> i=i+2
// 짝수(2)
for(let i = 0;i<=10;i+=2){
console.log("누나!",i)
}
// 이중 for문 (구구단 만들기)
for(let i=2; i<=9; i++){
for(let j =1;j<=9;j++){
console.log(i+'*'+j+'='+i*j)
}
}
// for문+배열
let fruit = ["banana","apple","grappe","mango"]
// length => 배열의 길이 == 배열안에 아이템 개수
for(let i=0; i<fruit.length;i++){
console.log(fruit[i])
}
정확한 범위가 아닌 상태에 따른 반복일때 사용
while(조건식){
조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 명령문;
조건식의 결과를 변경하는 명령문
};
let i=2
while(i<10){
console.log("Whil문 실행",i)
i++;
}
반복문의 탈출구
let i=1
for(let i=1;i<=10;i++){
console.log(i)
}// 다음과같은경우 0부터 10까지 전부 출력이 된다
for(let i=1;i<=10;i++){
console.log(i)
if(i%7==0){
console.log("7의 배수입니다")
break;
}
}
// 7이후는 프린트가 돼지 않는다.
//왜냐하면 7로 나뉘어지는 순간 if문 안에 들어가 break를 만났기 때문이다.
for(;;){
console.log("for문의 무한 반복")
}
while(true){
console.log("while문의 무한 반복")
}
let i =1
// 문제 1 1부터 100까지 더하는 for문을 만들고 결과를 출력하시오.
let sum = 0
for(let i=1; i<=100;i++){
sum+=i
}
console.log(sum)
// 문제 2 1부터 100까지 홀수만 출력하자.
for(let i =1; i<=100; i+=2) {
console.log(i)
}
// 문제 3 1부터 50까지 369결과를 프린트하자.
for(let i=1;i<=50;i++){
let stringValue = i.toString() //toString -> 객체가 가지고 있는 정보나 값들을 문자열로 만들어 리턴하는 메소드
let result = ""
for(let j=0;j<stringValue.length;j++){
if(stringValue[j] == "3" ||stringValue[j] == "6" ||stringValue[j] == "9" ){
result+="짝"
}
}
console.log(result.length>0?result:i)
}
// 문제 4 주어진 숫자가 소수이면 true 아니면 false를 출력하는 프로그램을 짜시오.
let n =14
let isPrime = true
if(n===1){
isPrime = false
}
for(let i=2; i<n; i++){
if(n % i == 0){
isPrime = false
}
}
console.log(isPrime)