loading
본문 바로가기
Language/Java

[ Java ] 04. 반복문 ( iteration statements )

by NeuLyeo 2023. 11. 9.

[ Java ] 04. 반복문  ( iteration statements )


 

 

📚 Table of Contents

     

     

     



    반복문은 코드를 반복적으로 실행하고자 할 때 사용한다.

     

    반복문의 종류

    • for문
    • while문
    • do-while

     

    for문과 while문은 서로 변환이 가능하기 때문에 반복문을 작성할 때 어느 쪽을 선택해도 좋다.

     

    하지만, 반복 횟수를 알고 있을 때는 for문, 조건에 따라 반복할 때는 while문을 주로 사용한다.






    01. 반복문 - for , for each

     

    for문은 주어진 횟수만큼 반복하여 실행하는 구조이다.

     

    for ( 초기치; 조건문; 증가치; ) {
        반복하여 실행할 내용;
    }
    
    // 향상된 for 문
    for ( 타입 변수명 : 배열 또는 컬렉션 ) {
        //배열 또는 컬렉션에 저장된 값이 순서대로 읽혀져 변수에 저장된다.
    }
    
    // 예시
    int[] nums = {5, 4, 3, 2, 1};
    for ( int num : nums ) {
        System.out.println(num); // num에 5, 4, 3, 2, 1 순서대로 저장된다.
    }



    초기치

    반복문에 사용될 변수를 초기화하는 부분이며 처음에 한 번만 수행된다.

     

    for ( **int i = 1**; i <= 10 ; i++ ){  } //int타입 변수 i의 값을 1로 선언 및 초기화한다.
    
    for( **int i = 1, j = 1**; i <= 10; i++ ){  } //int타입 변수 i와 j를 선언 및 초기화한다.



    조건문

    조건식의 값이 참일동안 반복을 계속하고, 거짓이면 반복을 중단해 for문을 벗어난다.

     

    for( int i = 1; **i <= 10**; i++ ){  } //i<=10일 동안 괄호 안의 문장을 반복 수행한다.



    증감식

    반복문을 제어하는 변수의 값을 증가 또는 감소시킨다.

     

    문장이 1번 실행될 때마다 변수의 값이 증감되어 나중에 조건식이 거짓이 되어 for문을 벗어난다.

     

    for( int i = 1; i <= 10; **i++** ){  }  // i가 1씩 증가된다.
    
    for( int i = 10; i >= 1; **i--** ){  }  // i가 1씩 감소된다.
    
    for(int i = 1; i <= 10; **i+=2**) {  }  // i가 2씩 증가된다. (i+=2 > i=i+2)






    02. 반복문 - while

    조건문이 만족하는 동안 반복하여 실행하는 구조이다.


    while문에서 초기치와 증감식만 추가되면 for문과 동일하게 사용이 가능하다.

     

    while (조건문) {
        반복하여 실행할 내용;
        증감식
    }



    do-while

    while문과는 다르게 do문장을 한번 수행한 후 while의 조건식을 판단해서

    참이면 do문장 반복실행, 거짓이면 빠져나온다.

     

    while문은 조건식의 결과에 따라 문장이 한 번도 실행되지 않을 수 있지만,
    do-while문은 최소한 한 번은 실행된다.

     

    do {
        반복하여 실행할 내용;
        증감식;
    } while ( 조건문 );



    무한루프

     

    무한루프란 조건식이 무조건 참이어서 영원히 반복하는 반복문을 뜻한다.

     

    for문에서는 for( ; ; ){ } / while에서는 while(true) { } 로 작성할 수 있다.

     

    for문, while문 안에 if문으로 조건을 걸어 빠져나올 수 있게 만든다.

     

    boolean flag = true;
    while ( flag ) {
        if ( num !=0 ) {
            sum += num;    
        } else {
            flag = false; // num이 0일 때 무한루프를 탈출한다.
        }
    }