본문 바로가기
Java

[반복문]for문, while문, do~while문

by 쟈근꿈틀이 2022. 3. 28.
728x90

반복문을 사용하면 같은 문장을 여러 번 적지 않아도 동일한 결과를 이끌어낼 수 있어서 효율적이다.

 


for문

                                                          

for(초기화; 조건식; 증감식) {

반복될 문장;

반복될 문장;

                                                          }

 

*반복될 문장이 하나인 경우는 괄호를 생략할 수 있음

for문의 구성 요소의 수행 순서

 

1~10까지의 합을 구하는 for문

total += i는 total = total + i와 동일하다.

 

for문의 지역 변수 i

for문에서 선언된 int형의 i라는 변수는 for문이 끝나는 블록(})을 만나면 소멸된다.

즉, for문 안에서만 의미가 있다. 따라서 for문이 끝난 후 i라는 변수를 사용하고자 하면 에러가 발생한다.

 

for(int i, int j; 조건식; 증감식) {

반복될 문장;

반복될 문장;

                                                        }

 

초기화 부분에는 초기화 문장을 콤마(,)를 사용해 여러 개 배치할 수도 있다.

 

초기화, 증감식의 위치 변경

 

또 원하는 위치에 초기화, 증감식을 위치시킬 수도 있다.

만약 위의 코드에서 조건식을 생략한다면 문장이 무한히 반복된다.

 

for(;;) {

       

                                                                        }

 

초기화, 조건식, 증감식, 반복될 문장을 모두 생략할 수 있다.

 


향상된 for문

 

for(타입 변수: 배열) {

반복될 문장;

반복될 문장;

                                                               }

 

*배열에 가져올 항목이 있는 경우 실행되고 더 이상 가져올 항목이 없을 때 종료됨,

배열에 항목이 존재하지 않는 경우에는 for문이 실행되지 않음

*반복될 문장이 하나인 경우는 괄호를 생략할 수 있음

 



while문

 

while(조건식) {

반복될 문장;

반복될 문장;

                                                                   }

 

*반복될 문장이 하나인 경우는 괄호를 생략할 수 있음

 

for문과 달리 증감식과 조건식이 없다.

1부터 100까지의 합을 구하는 예제를 while문으로 구현해보자.

 

이때 i++를 생략하게 되면 i의 값은 항상 1이므로 i <= 100은 항상 참이다.

while문의 조건식이 항상 참이면 while문을 탈출하지 않고 코드가 무한히 반복되므로 이 점을 유의하자!

 


do~while

                                                                   do {

반복될 문장;

반복될 문장;

                                                                   } while(조건식);

 

*반복될 문장이 하나인 경우는 괄호를 생략할 수 있음

                                                               

do~while문은 while문과 달리 반복될 문장을 실행한 후, 조건식을 검사하여 참이면 이 과정을 반복하고, 거짓이면 반복문을 탈출한다.

 

 


break문

 

break문을 만나면 가장 가까운 반복문이나 switch문을 빠져나간다.

break문

만약, for문이 중첩된 구조일 때, 가장 안쪽에서 break문을 만난다면 안쪽의 반복문만을 탈출한다.

 

이때, 중첩 반복문에 이름을 붙여주어 한 번에 반복문을 탈출할 수 있다.

   


continue문

 

1에서 100사이에 존재하는 홀수의 총 합을 구하는 예제

 

i % 2 == 0가 참일 때(i가 짝수일 때) continue문이 실행된다.

continue문을 만나면 아래의 코드를 실행하지 않고 바로 for문의 마지막 블록(})으로 건너뛰게 된다.

for문의 수행 순서는 초기식 -> 조건식 -> 반복될 문장 -> 증감식이므로 곧바로 i의 값을 1만큼 증가한다.

이후 조건식이 참이면 반복문을 실행하고, 아니면 반복문을 탈출한다.  

728x90

'Java' 카테고리의 다른 글

다차원 배열  (0) 2022.03.29
배열  (0) 2022.03.29
switch문  (0) 2022.03.28
if문  (0) 2022.03.28
연산자  (0) 2022.03.26