Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

나의 IT일지

반복문(for문) 본문

프로그래밍 언어/Java

반복문(for문)

세레프 2023. 3. 23. 04:20

 프로그램은 위에서 아래로 왼쪽에서 오른쪽으로 실행하는 흐름을 가지고 있다. 이러한 프로그램의 흐름을 제어하는 문법이 있는데, 이를 제어문이라고 한다. 제어문에는 정해진 조건에 따라 흐름을 제어하는 문법 조건정해진 조건에 따라 흐름을 반복하는 문법반복문이 있다. 

 

 

반복문의 사용 이유

 반복문특정한 동일작업을 반복적으로 수행하고 싶을 때 사용하는 문법으로, 반복되는 명령을 처리하기 위해서 사용한다. 만약 반복문을 사용하지 않는 경우, 실행문이 많아지게 되고, 그만큼 코드의 양이 증가하게 된다. 그래서 반복문을 사용함으로써, 코드의 길이를 줄이는 것이다.

 

 예를 들어보자, "Java는 객체지향언어이다."라는 문장을 10번 출력한다고 하자. 그렇다면 해당 소스코드는 다음과 같다.

package pack0322;

public class Code1 {
	public static void main(String[] args) {
		System.out.println("Java는 객체지향언어이다.");
		System.out.println("Java는 객체지향언어이다.");
		System.out.println("Java는 객체지향언어이다.");
		System.out.println("Java는 객체지향언어이다.");
		System.out.println("Java는 객체지향언어이다.");
		System.out.println("Java는 객체지향언어이다.");
		System.out.println("Java는 객체지향언어이다.");
		System.out.println("Java는 객체지향언어이다.");
		System.out.println("Java는 객체지향언어이다.");
		System.out.println("Java는 객체지향언어이다.");
	
	}
}
package pack0322;

public class Code2 {

	public static void main(String[] args) {
		for(int i = 1; i<=10; i++){
			System.out.println("Java는 객체지향언어이다.");
		}
	}
}

 위의 두 코드는 같은 결과를 출력한다. 이렇게 코드를 10번 코딩하면 10번 출력이 된다. 하지만 10번이 아니라 100번을 출력하는 경우,  10번이 아니라 100번 코드를 작성해야 한다. 그렇게 되면 소스코드가 길어진다. 그래서 우리는 조건에 따라 반복시켜서 반복적인 명령을 한 번에 처리하기 위해서 반복문을 사용하는 것이다.

 

 

반복문 - for문

 반복문중에 반복 횟수를 알고 있을때 사용하는 문법이 있는데, 이 문법을 for문이라고 한다.

구조식 순서도
for(초기식;조건식;증감식;){

    반복할 실행문;

}

 순서도를 보면 for문은 초기식을 시작으로, 조건식 실행문, 증감식을 반복적으로 실행하는 것을 볼 수 있다.

package pack0322;

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

 위의 코드를 보면, 초기식에서 변수 i를 생성하고 변수 i를 초기화를 한번만 실행한다. 즉, 초기화식조건식을 실행하기 전에 조건식, 증감식에서 사용할 변수를 초기화하는 곳이다. 이때, 사용되는 변수 i는 반복문 밖의 코드에선 사용할 수 없다.

 이어서 조건식인 "i <= 10"의참, 거짓을 판단한 후에, 참일 경우 블록 안에 있는 명령을 실행하게 된다. 즉 조건식반복문을 실행할 수 있는 조건을 선언하는 곳이다.

 마지막으로 증감식인 "i++"를 수행하고 다시 조건식의 참, 거짓을 판단하는 순서로 반복된다. 즉, 증감식초기화식에서 선언한 변수를 증감하는 곳이다.

 이렇게 반복하는 과정에서 조건식이 거짓이 되면, 반복문의 실행이 끝이 난다.

 

 보통 for문은 반복할 문장을 실행할 때마다 초기식의 변수의 값을 하나씩 증가시키는 방법을 사용한다. 그래서 for문의 초기식,조건식,증감식을 정할 때 반복횟수를 알기 쉽게 작성해야 한다.

for (i = 0; i < 5; i++) 	//i의 값이 0,1,2,3,4
for (i = 4; i <= 8; i++)	//i의 값이 4,5,6,7,8
for (i = 0; i < 17; i += 3)	//i의 값이 0,3,6,9,12,15
for (i = 5; i > 0; i--) 	//i의 값이 5,4,3,2,1

 특정 횟수를 나타내는 조합은 많다. 위의 조합들은 i값이 5개가 나오기에 5번 반복한다. 하지만 2번에서 4번의 코드는 1번코드에 비해 이해하기 어려운 코드이다. 따라서 이해하기 쉬운 1번 코드를 주로 사용하는 것이다.

 

 

 

 


for문을 이용한 중첩제어문

 for문의 블록 안에 제어문을 만드는 형태로 중첩 제어문(제어문의 블록안에 제어문을 사용하는 형태)을 만들어 낼 수 있다. 

package pack0322;

public class Code3 {
	public static void main(String[] args) {
		for(int i = 1; i<=10; i++){
			if(i%2==0) {
				System.out.println("짝수 : "+ i);
			}
		}
	}
}

 

package pack0322;

public class Code5 {

	public static void main(String[] args) {
		System.out.println("-----------------------------구구단-----------------------------");
		for(int i=1;i<=9;i++) {
			for(int j=2;j<=9;j++) {
				System.out.printf("%d*%d=%d\t",j,i,i*j);
				if(j==9) {
					System.out.printf("\n");
				}
			}
		}
	}
}

'프로그래밍 언어 > Java' 카테고리의 다른 글

break문과 continue문  (0) 2023.03.25
반복문(while문)  (0) 2023.03.24
조건문(switch문)  (0) 2023.03.22
조건문(if문)  (0) 2023.03.21
연산자(삼항, 대입)  (1) 2023.03.18
Comments