[JAVA] 반복문의 종류

2021. 9. 4. 14:10Web/JAVA

728x90

주어진 조건이 만족할 때까지 수행문을 반복적으로 수행합니다.

반복문에는 while, do-while, for문이 있습니다.


while문

조건식이 참인 동안 수행문을 반복해서 수행

 

while(조건식) {

  수행문1;

  ...

}

  수행문2;

   ...

 

※ 1부터 10까지의 합을 구하는 예제

1
2
3
4
5
6
7
8
9
10
11
12
    public static void main(String[] args) {
        int num = 1;
        int sum = 0// 초기화를 해 줘야 오류가 안 남
        
        while(num <= 10) {
        
            sum += num;
            num++;
        }
        System.out.println("1부터 10까지의 합은 " + sum + "입니다.");
    }
}
cs

do-while문

먼저 수행문을 한 번 수행하고 조건식 체크

수행문이 반드시 한 번 이상 수행되어야 하는 경우 사용

 

do {

  수행문1;

  ...

}  while(조건식);

  수행문2

  ...

 

※ 1부터 10까지의 합을 구하는 예제

1
2
3
4
5
6
7
8
9
10
11
    public static void main(String[] args) {
        int num = 1;
        int sum = 0// 초기화를 해 줘야 오류가 안 남
        
        do { // 블럭 안에 조건이 무조건 한 번은 수행됨
            sum += num;
            num++;
        } while(num <= 10);
        
        System.out.println("1부터 10까지의 합은 " + sum + "입니다.");
    }
cs

for문

반복문 중 가장 많이 사용하는 반복문

주로 조건이 횟수인 경우 사용

초기화식, 조건식, 증감식을 한꺼번에 작성

 

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

  수행문;

}

 

※ 1부터 10까지의 합을 구하는 예제

1
2
3
4
5
6
7
8
9
    public static void main(String[] args) {
        int num;
        int sum;
        
        for(num = 1; num <= 10; num++) {
            sum += num;
        }
        System.out.println(sum);
    }
cs

중첩 반복문(이중 for문)

반복문 내부에 또 반복문이 사용됨

 

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

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

    수행문1;

  }  수행문2;

 

}

 

※ 구구단을 출력하는 예제

1
2
3
4
5
6
7
8
9
10
11
12
    public static void main(String[] args) {
        
        int dan;
        int times;
        
        for(dan = 2; dan <=9; dan++) {
            for(times = 1; times <= 9; times++) {
                System.out.println(dan + "X" + times + "=" + dan*times);
            }
            System.out.println(); // 한 단이 끝났을 때 한 줄 띄움
        }
    }
cs

continue문

반복문과 함께 쓰이며, 반복문 내부 continue문을 만나면

이후 반복되는 부분을 수행하지 않고 조건식이나 증감식을 수행

 

※ 1부터 10까지 중 홀수의 합을 구하는 예제

1
2
3
4
5
6
7
8
9
10
11
12
    public static void main(String[] args) {
        
        int total = 0;
        int num;
        
        for(num = 1; num <= 10; num++) { // 1부터 10까지 반복
            if(num % 2 == 0// 만약 num 값이 짝수일 때
                continue// 이후 수행을 생략하고 num++를 수행
            total += num; // 따라서 num 값이 홀수인 경우에만 수행
        }
        System.out.println("1부터 10까지 홀수의 합은: " + total + "입니다.");
    }
cs

break문

반복문에서 break문을 만나면 더 이상 반복을 수행하지 않고 반복문을 빠져 나옴

중첩된 반복문 내부에 있는 경우 가장 가까운 반복문 하나만 빠져 나옴

 

※ 0부터 1씩 늘어가는 숫자의 합이 100이 초과하는 경우 그 수와 합을 구하는 예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    public static void main(String[] args) {
        
        int sum = 0;
        int num = 1;
        
        while(true) { // 계속 반복
            sum += num;
            
            if(sum > 100)
                break// 100을 넘은 순간 반복문 중단
            num++;
        }
        System.out.println(sum);
        System.out.println(num); // 100이 넘는 순간의 수
    }
cs

 

'Web > JAVA' 카테고리의 다른 글

[JAVA] this란?  (0) 2021.09.09
[JAVA] 정보은닉(information hiding)  (0) 2021.09.08
[JAVA] 객체지향 프로그래밍과 클래스  (0) 2021.09.08
[JAVA] 조건문의 종류  (0) 2021.09.03
[JAVA] 연산자의 종류  (0) 2021.09.02