반응형

지난 시간에는 조건문을 공부했었다.
조건문에는 if문, if-else if문, switch문이 있었다.

이번에 공부할 것은 반복문이다.

반복문의 종류

  • for문
  • while문
    • do while문

반복문의 종류에는 for문, while문, 그리고 while문의 변형인 do while문이 있다.

이번에는 for문에 대해서 공부해보자.

 

for문

  • 조건을 만족하는 동안 블럭{}을 반복 - 반복횟수를 알 때 적합

for문은 반복횟수를 알 때 적합하다.

for문의 가장 기본적인 예이다.

변수 i값이 1부터 5까지 1씩 증가 하며 반복한다. i = 1, 2, 3, 4, 5 그러면, 5번 반복한다.
10번 반복하고 싶으면 i 를 10으로 바꾸면 된다.

for문을 좀더 자세히 보면 아래와 같다.

 

처음에 변수 초기화를 하고, 조건식으로 가서 조건식이 참인동안 블럭을 실행하는데 한번 실행할때마다 증감식에 따라 변수의 값이 바뀐다. 
그리고 다시 바뀐 값이 조건식으로 들어가서 참이면 반복한다.  조건식이 거짓일때까지 반복한다. 

[Ex4_8]

public class Ex4_8 {

    public static void main(String[] args) {
        for (int i = 1, j = 10; i <= 10; i = i+1, j = j-1) {


            System.out.println("i="+i+", j="+j);
            }
        }
    }

[실행 결과]

i=1, j=10
i=2, j=9
i=3, j=8
i=4, j=7
i=5, j=6
i=6, j=5
i=7, j=4
i=8, j=3
i=9, j=2
i=10, j=1

이런식으로 사용할 수 잇는데,

for문에서 선언된 변수는 for문 블럭 내에서만 사용이 가능하다.

그런데, 해당 변수를 for문 밖에서도 사용해야 할 때가 있는데, 
그럴 때는 해당 변수를 for문 안에서 선언하지 말고, for문 밖에서 선언하면 된다.

[for문 밖에서 변수 선언한 예시 코드]

public class Ex4_8 {

    public static void main(String[] args) {
        int i; // scope(범위) - 선언위치부터 선언된 블럭의 끝까지 유효

        for (i = 1; i <= 10; i++) { 
            System.out.println("i="+i);
            }
        }
    }

[실행 결과]

i=1
i=2
i=3
i=4
i=5
i=6
i=7
i=8
i=9
i=10

변수 i를 선언한 위치부터 선언된 블럭의 끝까지가 변수i의 스코프가 된다.(유효범위)

for문에서 변수 선언 및 초기화, 그리고 조건식을 생략할 수도 있다.

 

[for문의 조건식을 생략한 코드 예시 - 무한 반복문]

public class Ex4_8 {
	public static void main(String[] args) {
    
    	 int i = 1; // scope(범위) - 선언위치부터 선언된 블럭의 끝까지
         for (;;) {
            System.out.println("i="+i);
         }
        }
       }

for문의 조건식을 생략하면 for(;true;)로 인식되어 항상 참이므로 무한반복문이 된다.

 

이번에는 for문안에서 선언한 변수를 이용해서 합을 쉽게 구해보자.

[Ex4_10]

public class Ex4_10 {

    public static void main(String[] args) {
        int sum = 0;        // 합계를 저장하기 위한 변수

        for(int i = 1; i <= 5; i++) {
            sum += i;  // sum = sum + i;
            System.out.printf("1부터%2d까지의 합: %2d%n", i, sum);

        }
    }
}

[실행 결과]

1부터 1까지의 합:  1
1부터 1까지의 합: 1
1부터 2까지의 합:  3
1부터 2까지의 합: 3
1부터 3까지의 합:  6
1부터 3까지의 합: 6
1부터 4까지의 합: 10
1부터 4까지의 합: 10
1부터 5까지의 합: 15
1부터 5까지의 합: 15
반응형

'JAVA' 카테고리의 다른 글

while문, do-while문  (0) 2022.03.20
중첩 for문  (0) 2022.03.20
임의의 정수 만들기  (0) 2022.03.19
switch문  (0) 2022.03.18
if-else문, 중첩 if문  (0) 2022.03.18