while문은 조건에 따라 코드를 반복해서 실행할 때 사용한다
- 조건식을 확인한다 참이면 코드 블럭을 실행하고, 거짓이면 while문을 벗어난다
- 조건식이 참이면 코드블럭을 실행한다 이후에 코드 블럭이 끝나면 다시 조건식 검사로 돌아가서 조건식을 검사한다 (무한 반복)

do-while문은 조건에 상관없이 무조건 한 번은 코드를 실행한다
- break와 continue는 반복문에서 사용할 수 있는 키워드다
- break는 반복문을 즉시 종료하고 나간다 continue는 반복문의 나머지 부분을 건너뛰고 다음 반복으로 진행하는데 사용된다
- break와 continue는 모든 반복문에서 사용할 수 있다

break를 만나면 코드 2가 실행되지 않고 반복문이 종료된다

continue를 만나면 코드2가 실행되지 않고 다시 조건식으로 이동한다, 조건식이 참이면 반복문을 실행한다

- 초기식이 실행된다. 주로 반복 횟수와 관련된 변수를 선언하고 초기화 할 때 사용한다 초기식은 딱 1번 사용된다
- 조건식을 검증한다. 참이면 코드를 실행하고 거짓이면 for문을 빠져나간다
- 코드를 실행한다
- 코드가 종료되면 증감식을 실행한다 주로 초기식에 넣은 반복 횟수와 관련된 변수의 값을 증가할 때 사용한다
- 다시 2.조건식 부터 시작한다(무한 반복)
- for문에서 초기식, 조건식, 증감식은 선택이다 모두 생력해도 된다
- 단 생략해도 각 영역을 구분하는 세미콜론은 유지해야 한다

이렇게 하면 조건이 없기 때문에 무한 반복하는 코드가 된다
for문
장점
1. 초기화, 조건 체크, 반복 후의 작업을 한 줄에서 처리할 수 있어 편리하다
2. 정해진 횟수 만큼의 반복을 수행하는 경우에 사용하기 적합하다
3. 루프 변수의 범위가 for 루프 블록에 제한되므로, 다른 곳에서 이 변수를 실수로 변경할 가능성이 적다
단점
1. 루프의 조건이 루프 내부에서 변경되는 경우, for루프는 관리하기 어렵다
2. 복잡한 조건을 가진 반복문을 작성하기에는 while문이 더 적합할 수 있다
while문
장점
1. 루프의 조건이 루프 내부에서 변경되는 경우, while루프는 이를 관리하기 쉽다
2. for 루프보다 더 복잡한 조건과 시나리오에 적합하다
3. 조건이 충족되는 동안 계속해서 루프를 실행하며, 종료 시점을 명확하게 알 수 없는 경우에 유용하다
단점
1.초기화, 조건 체크, 반복 후의 작업이 분산되어 있어 코드를 이해하거나 작성하기 어려울 수 있다
2. 루프 변수가 while블록 바깥에서도 접근 가능하므로, 이 변수를 실수로 변경하는 상황이 발생할 수 있다
정리
for문없이 while문으로 모든 반복을 다룰 수 있다
하지만 카운터 변수가 명확하거나, 반복 횟수가 정해진 경우에는 for문을 사용하는 것이 구조적으로 더 깔끔하고, 유지보수 하기 좋다
반복문은 내부에 또 반복문을 만들 수 있다