반목문은 어떤 작업이 반복적으로 수행되도록 할 떄 사용되며, 반복문의 종류는 for, while, do-while 이정 도 있다.
for문
for문은 반복 횟수를 알고 있을때 적합하다. 구조가 조금 복잡하면 직관적이라 오히려 이해가 쉽다. 다음 예제를 보면 이해하기가 쉬울거 같다.
1 | for(int i = 0; i <=5; i++) { |
위의 예제를 보면 for 안에 총 3종류의 문장?을 볼 수 있다. 이것을 처음 부터 해석해보면 int = 0을 선언하고 i을 5까지 1씩 증가 한다고 본면 된다.
이것만 봐서 이해가 안가는 사람들을 위해 for문의 구조에대해 적어 보았다.
1 | for(변수 초기화; 조건식; 증감식;) { |
초기화
여기서 초기화는 반복문에 사용될 변수를 초기화하는 부분이며, 처음에만 수행한다. 보통 변수 하나로 for문을 제어하지만, 둘 이상의 변수가 필요 할 때는 ‘,’(콤마)로 구분 하면 된다.
조건식
조건식의 값이 (true)이면 반복을 계속 하고, 거짓(false)이면 반복을 중단한다. for문의 뜻이 ‘~ 하는 동안’이므로 조건식이 ‘참인 동안’ 반복을 계속 한다고 생각하면 쉽다. 반복문을 사용하다보면 블럭{} 내의 문장이 한 번도 수행되지 않거나 영원히 반복되는 ‘무한루프’에 빠지기 쉽다.
증감식
반복문을 제어하는 변수의 값을 증가 또는 감소시키는 식이다. 매 반복마다 변수의 값이 증감식에 따라서 변하다가 결국 조건식이 거짓이 되어서 for문을 탈출 하게 된다.
중첩 for문
if문 안에 또 다른 if문을 넣을 수 있는 것처럼, for문도 다른 for문을 추가 시키는 것이 가능하다. 그리고 중첩의 횟수는 거의 제한이 없다고 보면 된다. 중첩 for문이라고 하면 빠질수 없는게 바로 별찍기 이다. (이게 은근 개같거든요) 다음과 같은 *모양을 찍어 보겠다.
*
**
***
****
*****
1 | //생략 |
while문
for문에 비해 while문은 구조가 다르다. if문 처럼 조건식과 블럭 {}만으로 이루어져 있다. 다만 if문과 달리 while문은 조건식이 ‘참(true)인 동안’, 즉 조건식이 거짓이 될 떄까지 블럭{} 내의 문장을 반복한다.
참고로 while의 조건문은 생략이 불가능 하다.
1 | while (조건식) { |
do-while문
do-while문은 변형으로 기본적인 구조는 while문과 같으나 조건식과 블럭{} 의 순서를 바꿔놓은 것이다. 그래서 while문의 조건식의 결과에 따라 블럭{}이 한번도 수행되지 않을 수 있지만, do-while문은 최소한 한번은 수행될 것을 보장 한다.
1 | do { |
break문
break문은 자신이 포함된 가장 가까운 반복문을 벗어나 도록 한다. 주로 while-true문과 함께 같이 쓰이기도 한다.
1 | while(true) { |
- 작성자: LEE Young Bin
- Github : http://dudqls5271.github.io/2021/10/14/hexo_JAVA08/
- 저작권 : 본 블로그의 모든 글은 특별 성명서를 제외하고, MIT 이선스 협약을 채택하고 있습니다. 복사 할 때 출처를 밝혀주세요!