반복문(iteration statements)

임성준·2022년 1월 14일
0

Java 기초 문법

목록 보기
6/14
post-thumbnail

반복문이란 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 명령문이다.

종류
1. while 문
2. do / while 문
3. for 문
4. Enhanced for 문

1. while 문

while 문은 특정 조건을 만족할 때까지 계속해서 주어진 명령문을 반복 실행한다.

💎 문법
while (조건식 ) { 조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 명령문 }

  • while 문에서 실행될 명령문이 한 줄 뿐이라면 중괄호({})를 생략할 수 있다

예제)

int i = 0;

while (i < 5) {
    System.out.println("while 문이 " + (i + 1) + "번째 반복 실행중입니다.");
    i++; // 이 부분을 삭제하면 무한 루프에 빠지게 됨.
}

System.out.println("while 문이 종료된 후 변수 i의 값은 " + i + "입니다.");

출력)

while 문이 1번째 반복 실행중입니다.
while 문이 2번째 반복 실행중입니다.
while 문이 3번째 반복 실행중입니다.
while 문이 4번째 반복 실행중입니다.
while 문이 5번째 반복 실행중입니다.
while 문이 종료된 후 변수 i의 값은 5입니다.

2. do / while 문

do / while 문은 먼저 루프를 한 번 실행한 후에 조건식을 검사한다.
즉, do / while 문은 조건식의 결과와 상관없이 무조건 한 번은 루프를 실행한다.

💎 문법
do { 조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 명령문 } while ( 조건식 );

예제)

int i = 1, j = 1;

 
do {
    System.out.println("do / while 문이 " + i + "번째 반복 실행중입니다.");
    j++; // 이 부분을 삭제하면 무한 루프에 빠지게 됨.
} while (j < 1);

System.out.println("do / while 문이 종료된 후 변수 j의 값은 " + j + "입니다.");

출력)

do / while 문이 1번째 반복 실행중입니다.
do / while 문이 종료된 후 변수 j의 값은 2입니다.

3. for 문

for 문은 while 문과는 달리 자체적으로 초기식, 조건식, 증감식을 모두 포함하고 있는 반복문이다.

💎 문법
for ( 초기식; 조건식; 증감식 ) { 조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 명령문 }

  • for 문에서 실행될 명령문이 한 줄 뿐이라면 중괄호({})를 생략할 수 있다.

예제)

for (int i = 0; i < 3; i++) {
    System.out.println("for 문이 " + (i + 1) + "번째 반복 실행중입니다.");
}

 
① // System.out.println(i);

 
for (int i = 0; i < 3; i++) {
    System.out.println("for 문이 " + (i + 1) + "번째 반복 실행중입니다.");
}

출력)

for 문이 1번째 반복 실행중입니다.
for 문이 2번째 반복 실행중입니다.
for 문이 3번째 반복 실행중입니다.

for 문이 1번째 반복 실행중입니다.
for 문이 2번째 반복 실행중입니다.
for 문이 3번째 반복 실행중입니다.

4. Enhanced for 문

배열과 컬렉션 프레임워크에서 유용하게 사용되는 반복문

💎 문법
for (타입 변수이름 : 배열이나컬렉션이름) { 배열의 길이만큼 반복적으로 실행하고자 하는 명령문 }

Enhanced for 문은 명시한 배열이나 컬렉션의 길이만큼 반복되어 실행된다.
루프마다 각 요소는 명시한 변수의 이름으로 저장되며, 명령문에서는 이 변수를 사용하여 각 요소를 참조할 수 있다.

하지만 Enhanced for 문은 요소를 참조할 때만 사용하는 것이 좋으며, 요소의 값을 변경하는 작업에는 적합하지 않다.

예제)

int[] arr = new int[]{1, 2, 3, 4, 5};

 
for (int e : arr) {
    System.out.print(e + " ");
}

출력) 1 2 3 4 5 

기타 제어문

일반적으로 조건식의 검사를 통해 루프로 진입하면, 다음 조건식을 검사하기 전까지 루프 안에 있는 모든 명령문을 실행한다. 하지만 continue 문과 break 문은 이러한 일반적인 루프의 흐름을 사용자가 직접 제어할 수 있도록 도와준다.

continue 문

continue 문은 루프 내에서 사용하여 해당 루프의 나머지 부분을 건너뛰고, 바로 다음 조건식의 판단으로 넘어가게 해준다. 보통 반복문 내에서 특정 조건에 대한 예외 처리를 하고자 할 때 자주 사용.

예제)

for (int i = 1; i <= 100; i++) {
    if (i % 5 == 0 || i % 7 == 0) {
        System.out.println(i); // 출력 => 5 // 7 // 10 // 14 // 15 ....
    } else {
        continue;  
    }
}

break 문

break 문은 루프 내에서 사용하여 해당 반복문을 완전히 종료시킨 뒤, 반복문 바로 다음에 위치한 명령문을 실행합니다.

즉, 루프 내에서 조건식의 판단 결과와 상관없이 반복문을 완전히 빠져나가고 싶을 때 사용합니다.

예제

int num = 1, sum = 0;

while (true) { // 무한 루프
    sum += num;
    if (num == 100) {
        break;
    }
    num++;
}

System.out.println(sum); // 출력 => 5050

출처 : http://www.tcpschool.com/java/intro

profile
오늘도 공부 📖🌙

0개의 댓글