비전공자의 개발과 친해지기/반복문

[JAVA : 반복문]1. for문 / 이중 for문

justdoIT0730 2022. 4. 9. 11:13
728x90
728x90

- for 문

  반복문 같은 처리를 반복 실행하는 문법으로, 소스코드의 효율성과 코드의 가독성을 높이는 역할을 합니다.

 반복문은 for, while, do-while 세가지 문법이 있습니다. 먼저 for문에 대하여 알아보겠습니다.

 

 

 for 문은 반복문 중에서 가장 많이 쓰이며, for 문은 시작 조건, 실행 조건, 증감식 세 가지로 이루어집니다.

for( /* 시작조건 */ ; /* 실행조건 */ ; /* 증감식 */ ) {
    // 반복 내용
}

for 문의 기본 형태는 위의 예제와 같습니다.

 

1. for ( /* 시작 조건 */ ; /* 실행 조건 */ ; /* 증감식 */ )

  • 시작 조건에서는 변수 1개를 선언하거나 for문 바깥에서 선언된 변수의 값을 바꿀 수 있습니다. 만약 시작조건에서 변수를 선언했다면, 그 변수는 for 문을 벗어날 시 사용할 수 없습니다. 시작조건은 제일 처음, 단 1회만 실행됩니다.
  • 실행조건이 true를 만족할 때 for 문이 동작 합니다.
  • 증감식은 변수의 값을 변화 시킬 수 있습니다. 전위연산자를 사용하는 경우를 제외하고 for문의 중괄호 부분이 실행된 후 이 부분이 동작합니다.

2. 중괄호( { } )

  • 중괄호 내부의 소스코드는 for 문의 실행조건을 만족할 시 동작 하는 구간 입니다.
  • 중괄호가 존재하지 않아도 for 문이 동작 하지만, 그 경우 for 문 괄호 다음의 한 줄만 for 문에 해당하는 동작이 됩니다.
  • break 문을 사용하면 for 문을 언제든지 벗어날 수 있습니다.
  • 중괄호 내부에서 선언된 변수는 중괄호를 벗어날 시 사용할 수 없습니다.

 

import java.io.*;
class Main {
		public static void main(String[] args) {
			for(int i = 1 ; i <= 3 ; i++) {
				System.out.println(i + "번째 반복");
			}
		}
}

 

위 예제는 for 문이 동작하는 가장 기본적인 예로, 위 예제 코드를 해석하면 다음과 같습니다.

 

  1. 시작 조건에서 int형 변수 i 가 1 로 초기화 되었습니다.
  2. i 의 값이 3보다 같거나 작을 때 동작합니다.
  3. for 문의 실행 조건을 만족하면 for 문이 한 번 끝날 때마다 값을 1씩 증가시킵니다.

 

 

- 이중 for 문

 

 이중 for 문은 for문 내부에 for 문이 존재하는 구조입니다.

 

import java.io.*;
class Main {
		public static void main(String[] args) {
			for(int i = 1 ; i <= 3 ; i++) {
				for(int j = 1 ; j <= 5 ; j++) {
					System.out.println("i = " + i + "번째 반복");
					System.out.println("j = " + j + "번째 반복");
				}
			}
		}
}

 

 소스코드의 내용을 살펴보면 변수 i를 기준으로 동작하는 for 문 내부에서 변수 j를 기준으로 동작하는 for 문이 있습니다.

 

 이해를 돕기 위해서 i를 기준으로 동작하는 for 문을 1번 for 문, j를 기준으로 동작하는 for 문을 2번 for 문이라고 하겠습니다. 동작 순서는 다음과 같습니다.

 

  1. 1번 for 문의 변수 i 가 1 로 초기화 됩니다. 1번 for 문의 동작 조건(i 가 3 보다 같거나 작을 때)를 만족하므로 1번 for 문의 중괄호가 처리 됩니다.
  2. 2번 for 문의 변수 j 가 1 로 초기화 됩니다. 2번 for 문의 동작 족건(j 가 5 보다 같거나 작을 때)를 만족하므로 2번 for 문의 중괄호 부분이 동작하여 "i = 1번째 반복" 과 "j = 1번째 반복" 을 출력합니다.
  3. j 가 1 증가하는 동작이 실행됩니다. (2번 for 문의 증감식이 실행) j 가 1이 증가해도 2번 for 문의 동작조건이 만족되므로 2번 for 문이 다시 동작합니다.
  4. 2번 for 문이 총 5회 동작 됩니다. 다라서 출력은 총 10줄이 됩니다.
  5. 2번 스텝부터 4번 스텝까지 1번의 for 문이 1회 동작 됩니다. 따라서 2번 스텝부터 4번 스텝이 총 3회 반복 됩니다.
  6. 최종적인 출력은 총 30줄이 출력됩니다.

 

 

728x90
728x90