Language/Java

Java for문1

괘창 2024. 6. 28. 14:27

■ for문

for문이란?
while문과 같은 반복문이고, 코드를 반복 실행하는 역할을 한다.
※ for문은 주로 반복 횟수가 정해져 있을 때 사용한다.

 

for문 구조

for (1.초기식; 2.조건식; 4. 증감식) {
    // 3. 코드
}

 

- for문은 실행 순서

  1. 초기식이 실행된다. 주로 반복 횟수와 관련된 변수를 선언하고 초기화 할 때 사용
    초기식은 딱 1번 사용된다.
  2. 조건식을 검증한다. 참이면 코드를 실행하고, 거짓이면 for 문 탈출
  3. 코드 실행
  4. 코드가 종료되면 증감식 실행. 주로 초기식에 넣은 반복 횟수와 관련된 변수의 값을 증가할 때 사용
  5. 다시 2번의 조건식 부터 시작. (무한 반복)

※ for 문은 복잡해 보이지만 while 문을 조금 더 편하게 다룰 수 있도록 구조화한 것이다.


예제 코드)

# 1 ~ 10까지 출력하는 for문

for ( int i = 1; i <= 10; i++) {
    System.out.println(i);
}
  1. 초기식이 실행된다. >> int 1 = 1
  2. 조건식을 검증한다. >> i <= 10
  3. 조건식이 참이면 코드를 실행한다. System.out.println(i);
  4. 코드가 종료되면 증감식을 실행한다. i++
  5. 다시 2번의 조건식을 검증한다. (무한 반복) >> 이후 i <= 10 조건이 거짓이 되면 for문 탈출

에제 코드)

package loop;

public class For1 {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            System.out.println(i);
        }
    }
}

 

 

실행 결과)


문제 : i부터 하나씩 증가하는 수를 endNum(마지막 수 )까지 더해라 ( i ~ endNum 더하기)
for문 사용

 

 

문제 코드)

package loop;

public class For2 {
    public static void main(String[] args) {
        int sum = 0;
        int endNum = 3;

        for (int i = 1; i <= endNum; i++) {
            sum = sum + i;
            System.out.println("i = " + i + ", sum = " + sum);
        }
    }
}

 

 

실행 결과)

 


- for vs while

 

while 코드)

package loop;

public class While2_4 {
    public static void main(String[] args) {
        int sum = 0;
        int i = 1;
        int endNum = 100;

        while (i <= endNum) {
            sum = sum + i;
            System.out.println("i=" + i + ", sum=" + sum);
            i++;
        }
    }
}

 

# while문과 for문의 두 코드를 비교했을 때 for 문의 코드가 더 깔끔하다.

# for 문은 초기화, 조건 검사, 반복 후 작업 등이 규칙적으로 한 줄에 모두 들어가있어 이해하기 쉽다.

# 특히 반복을 위해 값이 증가하는 카운터 변수를 다른 부분과 명확하게 구분할 수 있다.

# while은 변수 i 를 선언하는 부분과 i++ 로 증가하는 부분이 분산되어 있다.

 

for (int i = 1; i <= endNum; i++)

위 코드에서 변수 i 가 카운터 변수다.

증가하면서 반복 횟수가 올라가고, 또 변수 i 를 사용해서 반복여부를 체크한 후 판단할 수 있다.

for문을 통해 반복 횟수에 직접적인 영향을 주는 변수 선언, 값 증가, 조건식 활용까지

for (초기식; 조건식; 증감식) 구조를 활용해 처리가 가능하다.