금융에 대한 모든 것

반복문이란?

 반복문이란 어떤 프로그램 명령어를 반복하여 실행할 있는 문법입니다. 프로그램 동작을 제어함에 있어서 반복문은 정말 중요하다고 있습니다. 처리할 과정이 많다고 해도 같은 동작을 하는 과정이면 반복문을 이용해 빠르게 처리할 있기 때문입니다.

for문

기본 사용법

for (int i = 0; i < 10; i++) {
    // 실행문
}

for문은 기본적으로 3가지로 이루어져 있습니다. int i = 0; 초기화식이라고 하고, i < 10; 조건식, i++ 단항 연산자라고 하여 반복을 제어합니다. i 0부터 시작해서 조건식을 확인해 false  때까지 반복하여 1 증가시키고 수행문도 같이 반복하게 됩니다.

 

예시

public static void main(String[] args) {
        
    for (int i = 0; i < 5; i++) {
        System.out.println(i); // 결과: 0, 1, 2, 3, 4
    }
}

여기서 for문을 만나게 되면 소괄호 안에 조건식과 단항 연산자을 실행하는 것이 아니라 수행문을 먼저 실행하게 됩니다. 수행문을  실행하고 나면 단항 연산자에 의해 i값이 1증가하고 조건식을 만족하는지 확인한 다음 다시 수행문을 실행합니다.  과정을 조건식을 만족하지 않을 때까지 반복합니다 따라서 0부터 4까지의 결과가 순서대로 출력되고 i 5 되었을 때는 for문을 빠져나오게 됩니다.

 

 한 가지 주의할 점은 for문 안에서 선언된 변수들은 for 밖에서는 사용하지 못한다는 것입니다. 따라서 for 안에서 변수들을 사용하려면 for 밖에서 먼저 선언하고 사용하는 것이 좋습니다

 

 그러면 만약 for문의 반복 횟수를 for 밖으로 전달해야 된다면 어떻게 해야 할까요?

 

예시

public static void main(String[] args) {
    int i = 0;
    int j = 10;
        
    for (; i < 5; i++) {
        j += 5;
    }
    System.out.println(j); // 결과: 5
        
    j = i; // j에 반복 횟수 전달
    System.out.println(j); // 결과: 35
}

다음과 같이 for문의 초기화식을 외부에 작성하고 소괄호 안에는 ; 적어주어도 i 0 채로 적용이 됩니다. 따라서 이런 방법으로 for문의 반복 횟수를 다른 변수에 전달하여 사용할  있습니다.

 

또한 단항 연산자를 사용하지 않고 대입 연산자를 이용하면 i 증가 값을 다르게 조정할  있습니다.

 

예시

public static void main(String[] args) {
    int i = 0;
        
    for (; i < 7; i += 2) {
        System.out.println(i); // 0, 2, 4, 6
    }  
}

 

while문

기본 사용법

while(조건식) {
    // 실행문
}

조건식을 확인하여 false  때까지 수행문을 계속 반복합니다. 따라서 조건식이 계속 true이면 수행문이 무한 반복되고, false이면 아예 실행을 하지 않습니다. while문은 조건식에 따라서 반복을 제어하고 싶을  사용합니다.

 

결과

public static void main(String[] args) {
    int a = 0;
    int b = 5;
        
    while(a < b) {
        ++a;
        System.out.println(a); // 결과: 0, 1, 2, 3, 4
    }
    
}

 

for each문

기본 사용법

for (변수 : 반복 가능한 객체) {
    // 실행문
}

for each문은 배열과 같이 여러 가지 값들이 들어 있는 객체에 대해 순차적으로 반복문을 실행할  있는 문법입니다.

 

결과

public static void main(String[] args) {
    int[] array = {1, 2, 3, 4};
        
    for (int e : array) {
        System.out.println(e); // 1, 2, 3, 4
    }
}

 ':'를 기준으로 왼쪽에는 하나의 변수를 선언하고, 오른쪽에는 배열이나 리스트 같은 연속된 값들을 넣어줍니다. 만약 array부분에 배열이 들어간다면 배열의  번째 값을 e 넣고 수행문을 실행합니다. 실행이 끝나고 다시 e  번째 값을 넣어 실행하는 식으로 모든 요소를 순차적으로  번씩 e 대입하여 실행합니다. 따라서 요소의 개수만큼 반복을 진행하게 됩니다.

반응형