기본
// while문 (while statement)
while (조건부분){
동작부분
}
// 1.while문과 for문은 서로 대체가 가능
// 2.while문에는 초기화 부분이 없기 때문에, 반복에 필요한 횟수를 카운트하려면
// 반복문 밖에서 글로벌 변수(전역 변수)를 미리 만들어주어야 함
let i = 1;
while(i <= 10){
console.log(`${i} 안녕하세요.`);
i++;
}
for(let i = 1; i <= 10; i++){
console.log(`${i} 안녕하세요.`);
}
// 두가지를 놓고보면 가독성은 for문이 좋음
// 그렇다면 while문은 언제 쓰는 것이 좋을까?
// i보다 큰 수 중에서 가장 작은 7의 배수를 찾는 코드
// 가장 먼저 변수 i를 선언하고, 30 할당 -> 30보다 큰 수 중에서 가장 작은 7의 배수를 찾게 됨
// 반복문이 종료된 다음에도 이 변수를 사용해야 될 때는 for문보다 while문을 사용하는 것이 좋음
// -> 반복문 밖의 글로벌 변수를 가지고 조건을 평가!
let i = 30;
while(i % 7 !== 0){
i++;
}
console.log(i);
연습 1 - while 반복문을 사용하여 1 이상 100 이하의 홀수를 모두 출력
// 변수 i를 1로 설정(1이상이니까)
let i = 1;
// 100이하가 될 수 있게 조건 걸어주기
while(i <= 100){
// 홀수를 출력하기 위해서
if(i%2===1){
console.log(i);
}
// 1씩 증가시키면서 조건에 맞으면 출력할
i++;
}
// 출력 예시
1
3
5
7
.
.
.
93
95
97
99
연습 2
문제
while문을 활용해서 정수 180의 약수를 모두 출력하고, 총 몇 개의 약수가 있는지 출력하는 프로그램을 작성하기
-> 정수 N의 약수는 N을 나누었을 때 나누어떨어지는 수
->만약 정수 i가 정수 N의 약수라면, N을 i로 나누었을 때 나머지가 0이 나와야 함
// 출력 예시
1
2
3
4
5
6
9
10
12
15
18
20
30
36
45
60
90
180
180의 약수는 총 18개입니다.
풀이 및 답
// 정수인 변수 N을 180으로 설정
const N = 180;
// N의 약수 변수 i 설정
let i = 1;
// 약수의 갯수를 담아줄 count 변수 설정
let count = 0;
// i는 180(N) 이하로 설정
while(i <= 180){
// 180(N)이 i로 나누어떨어지는지 확인
if(N % i === 0){
console.log(i);
// 약수의 갯수를 출력해야하니
// if문 안쪽에서 180의 약수를 발견했을 때마다 1씩 늘려서 세어주기
count++;
}
// 1씩 늘려가며 약수 확인
i++;
}
// 템플릿 문자열을 활용한 문장 출력
console.log(`${N}의 약수는 총 ${count}개 입니다.`);
'DEV > JavaScript' 카테고리의 다른 글
JavaScript | 배열 (0) | 2022.02.02 |
---|---|
JavaScript | 객체 (0) | 2022.01.30 |
JavaScript | 반복문 - for문 (0) | 2022.01.27 |
JavaScript | 옵셔널 파라미터 (0) | 2022.01.25 |
JavaScript | return과 console.log의 차이 (0) | 2022.01.25 |