오늘은 while loop문에 대해 알아보겠습니다.
while이란,
조건문이 참일 때 실행되는 반복문이다. 조건은 문장안이 실행되기 전에 참, 거짓을 판단한다.
*참고자료 : MDN Web Docs - while
while (condition)
statement
condition(조건)
반복이 시작되기 전에 조건문은 참,거짓을 판단받게 된다. 만약 조건문이 참이라면, while문 안의 문장들이 실행된다. 거짓이라면, 문장은 그냥 while 반복문 후로 넘어간다.
statement(문장)
조건문이 참일 때만 while문 속의 문장들이 실행된다. 반복문 속에 여러개의 문장을 사용하고 싶다면 중괄호 { } 를 통해 문장들을 하나로 묶어야 한다.
예시 문장,
let hamburger = 8;
while (hamburger > 0) {
hamburger--;
console.log(`남은 햄버거는 ${hamburger}개 이다.`);
};
"남은 햄버거는 7개 이다."
"남은 햄버거는 6개 이다."
"남은 햄버거는 5개 이다."
"남은 햄버거는 4개 이다."
"남은 햄버거는 3개 이다."
"남은 햄버거는 2개 이다."
"남은 햄버거는 1개 이다."
"남은 햄버거는 0개 이다."
hamburger가 8개가 있는데
while반복문을 실행 시킬 때 마다 1개씩 감소하는 형태이고,
몇개 남았는지를 출력해준다.
햄버거가 8개 였을 때, 하나 먹으면 7개가 남고
7개 였을 때, 하나 먹으면 6개가 남는다고 생각하면 되겠다.
let hamburger = 0;
while (hamburger < 8) {
let kg = 50;
hamburger++
kg += hamburger
console.log(kg);
};
let hamburger = 0;
let kg = 50;
while (hamburger < 8) {
hamburger++
kg += hamburger
console.log(kg);
};
위 예제의 두개가 뭐가 다를까요?
둘 다 hamburger라는 변수를 증가시키면 kg이라는 변수에 더해줍니다.
다만,
첫 번째는 while 내부에 kg 이라는 변수를 할당하고,
while이 실행 될 때 마다 kg은 50으로 설정됩니다.
그래서 while을 실행하면 값이
51, 52, 53, 54, 55, 56, 57, 58 이 나옵니다.
두 번째는 while 외부에서 kg의 변수를 할당합니다.
while이 실행되면 처음엔 kg은 할당한 50에 hamburger변수가 1이 되면서 51이 됩니다.
그 다음엔 kg은 증가된 51에 hamburger변수가 2가 되면서 53이 됩니다.
그 다음엔 마찬가지로 kg은 53이되고, hamburger 변수는 3, 값은 56이 됩니다.
그래서 consol.log에 찍힌 값을 보면,
51, 53, 56, 60, 65, 71, 78, 86 이 나옵니다.
let hamburger = 0;
let kg = 50;
while (hamburger < 8) {
hamburger++
kg += hamburger
console.log(`햄버거를 ${hamburger}개를 먹어서 몸무게가 ${kg}이 되었다.`)
if(hamburger == 4) {
console.log(`미쳤다, 너무 많이 먹어서 ${kg}이 되었다. 살빼야지`)
break;
}
};
> "햄버거를 1개를 먹어서 몸무게가 51이 되었다."
> "햄버거를 2개를 먹어서 몸무게가 53이 되었다."
> "햄버거를 3개를 먹어서 몸무게가 56이 되었다."
> "햄버거를 4개를 먹어서 몸무게가 60이 되었다."
> "미쳤다, 너무 많이 먹어서 60이 되었다. 살빼야지"
햄버거를 조금만 먹읍시다.
if문과 break를 사용하여 hamburger 변수가 4개가 되었을 때,
while 루프를 종료되게 할 수도 있습니다.
공부하면 할 수록 알아볼게 복리로 늘어나는 듯
(내 통장은 안그런데)
다음 번엔 do while에 대해서 알아보겠습니다.
댓글