반복문

배지원·2022년 8월 25일
0

JAVA

목록 보기
6/32
post-thumbnail
post-custom-banner

반복문이란 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 명령문이다. 프로그램이 처리하는 대부분의 코드는 반복적인 형태가 많으므로, 가장 많이 사용되는 제어문 중 하나이다.
종류에는 while, do-while, for문이 있다.

1. while문

  • 조건문의 실행 결과가 true일 동안 반복해서 실행한다.
while(조건문){
        실행문; 
    }

간단한 예시

int 몸무게 = 75;
while(몸무게 > 70){
        다이어트;
    }

조건문에 몸무게가 70kg초과일때 실행되며 whlie문 안에서 다이어트라는 실행문을 통해 반복하게 되고 만약 다이어트를 통해 70미만이 되었을 경우 자동으로 while문을 빠져나와 종료가 된다.
이때 중요한 것은 만약 whlie문 안에 실행문을 작성하지 않을 경우 영원히 반복될 것이므로 어느 순간 거짓(false)을 갖도록 조건식의 결과를 변경하는 명령문을 포함시켜줘야 한다.

(1) Break문

  • 무한반복을 하다 원하는 값을 얻거나 반복을 종료시키고 싶을때 사용
int num = 1;
        boolean search = false; 

        // 처음 만나는 5의 배수이자 7의 배수인 수를 찾는 반복문
        while(num<100){
            if(((num%5)==0) && ((num%7)==0)){       // 5와 7의 배수를 찾게되면
                search = true;                      // search 값을 true변경
                break;                              // 반복문 빠져나옴
            }
            num++;
        }
            System.out.println("찾는 정수:"+num);

(2) Continue문

  • 무한반복중 원하는 값을 얻거나 다음 반복을 하고 싶을때 사용
int num = 0;
        int count = 0;
        while((num++)<100){
            if(((num % 5) != 0) || ((num%7)!=0)){
                continue;
            }
            count++;
            System.out.println(num);
        }
        System.out.println("count:"+count);

2. do-while문

  • while문은 루프에 진입하기 전에 먼저 조건식부터 검사하는 반면, do-while은 먼저 루프를 한번 실행한 후에 조건식을 검사한다. 즉, do-while문은 조건식의 결과와 상관없이 무조건 한번은 루프를 실행한다.
    do{
        실행문;
    }while(조건문);

간단한 예시

do{
    요금 납부;
}while(납부한 요금 != 연체 요금);

도서관에서 책을 빌리고 반납기간이 지나 연체료 1만원을 납부해야 하는 상황일때, a사람이 5천원만 납부했다고 가정해보자 그럼 나머지 5천원이 부족하여 도서관에서는 계속해서 연체료를 납부하라고 할 것이다. 즉, 실행문인 요금납부는 무조건 한번 실행하게 되고 난 후 조건문을 통해 비교를 해보고 거짓이 될때까지 반복하게 된다.


3. for문

  • for반복문은 변수초기화, 조건식, 증감식이 한줄에 모두 있다.
    1. 초기화식은 최초 한 번만 수행합니다.
    2. 조건식을 수행해서 수행결과가 false라면 for 반복문을 빠져 나갑니다.
    3. 수행 결과가 true라면 실행문을 수행한다.
    4. 증감식을 수행한다.
    5. 2번부터 4번까지 반복적으로 수행한다.
    for(초기화식; 조건식; 증감식){
        실행문;
        실행문;
    }

간단한 예시

for(현재 몸무게 = 75; 현재 몸무게<70; 현재 몸무게--){
     다이어트;
}

현재 몸무게를 75로 초기화를 하고, 70미만으로 갈때까지 반복하겠다는 조건식을 선언한 후, 조건식이 반복(다이어트를 할때마다)될때마다 -1씩 되어 현재 몸무게가 70미만이 되게 되면 반복문을 빠져나오게 된다.

간단한 별찍기

for(int i =1; i<=5; i++){
            for(int j=i; j<6; j++){
                System.out.print("*");
            }
            System.out.println("");
        }

5. for each문

  • 가변하는 복잡한 배열이나 리스트의 크기를 일일이 구할 필요가 없다
  • 이중 for문이나 복잡한 반복문에 적합하며, 인덱스를 생성해 접근하는 단순 for문 보다 빠르다

예시

        int[] arr = new int[1001];      // 배열 크기 선언
        int sum = 0;

        for(int i=0; i<arr.length; i++) {   // 배열안에 값 넣기
            arr[i] = i+1;
        }

        for(int i:arr){         // for-each문을 통해 배열의 수만큼 모두 더하기
            sum += i;
        }

        System.out.println(sum);

6. repeat문

  • String 메서드 중 하나로 String 문자열을 파라미터의 주어진 횟수만큼 반복한다.
String str = "test";

        String repeat = str.repeat(3);

        System.out.println("원본 :"+str);
        System.out.println("repeat : " + repeat);

profile
Web Developer
post-custom-banner

0개의 댓글