본문 바로가기
JAVA

[JAVA] 자바 문장 - 반복문 (for 문)

by Amy IT 2022. 5. 18.

반복문은 조건에 따라 특정 실행문을 반복적으로 수행할 수 있는 문입니다. 이번 글에서는 반복문 중 for문에 대해 다루어 보겠습니다.

 

 

for 문

 

지정된 횟수만큼 반복 처리합니다. 

for(초기식; 조건식; 증감식) {
      문장1;
}
다음문장;

for문은 초기식, 조건식, 증감식으로 구성됩니다. 실행되는 순서는 다음과 같습니다.

 

초기식이 실행된 후, 변수값이 조건에 맞는지 검사합니다. true인 경우 문장을 수행한 후 증감식에 따라 변수를 증가시키거나 감소시킵니다. 변경된 값이 조건에 맞는지 다시 검사합니다. 이 과정을 반복 처리하다가 조건식이 false가 되면 반복문을 빠져나옵니다. 

 

다음은 for문을 이용하여 hello를 5번 출력하는 프로그램입니다.

for (int i = 0; i < 5; i++) {
	System.out.println("hello "+i);			
}//end for

 

 

* for문을 사용하여 1부터 10까지 합계 구하기

for문을 사용하여 1부터 10까지 합계를 구할 수 있습니다. 

int total = 0;
for (int n = 1; n <= 10; n++) {
	total += n;
}
System.out.println("총합은 : "+total);

 

 

* for문을 사용하여 1부터 10까지 짝수 합계 구하기

홀수나 짝수의 합만을 구하고 싶을 때는 다음과 같이 n+=2를 사용하여 n을 2씩 증가시키면 됩니다. 

for (int i = 0; i <=10; i+=2) {//i=0,2,4,6...
		total += i;
		System.out.println("total : "+ total+ "\t" +"i : "+i);
}
System.out.println("총합="+total);

 

혹은 다음과 같이 if문을 사용하여 i가 짝수가 됐을 때만 총합에 누적시키는 방식으로 짝수의 총합을 구할 수도 있습니다.

for (int i = 0; i <=10; i=i+1) {//i=0,2,4,6...
	if(i%2==0) {//i가 짝수가 됐을때만 총합에 누적 
		total += i;
		System.out.println("total : "+ total+ "\t" +"i : "+i);				
	}
}
System.out.println("총합="+total);

 

 

* for문을 사용하여 1부터 10까지 홀수와 짝수 합계 각각 구하기

다음은 if-else문을 사용하여 홀수와 짝수의 합을 각각 나누어 계산하는 프로그램입니다.

int total = 0;
int total2 = 0;
for (int i = 0; i <=10; i=i+1) {
	//0,1,2,3,...10 
	if(i%2==0) {//짝수인 경우 
		total += i;
		System.out.println("total : "+ total+ "\t" +"i : "+i);				
	} else {//홀수인 경우 
		total2+= i;
		System.out.println("total2 : "+ total2+ "\t" +"i : "+i);
	}
}
System.out.println("total="+total+", total2="+total2);

 

 

* 이중(중첩) for문을 사용하여 구구단 출력하기

for문을 중첩하여 사용할 수 있습니다. 이중 for문을 사용하여 구구단을 출력해 보겠습니다.

for (int i = 2; i <= 9; i++) {//바깥 			
	for (int j = 1; j <= 9; j++) {//안쪽
		System.out.println(i+" * "+j+" = "+(i*j));
	}
	System.out.println("========================");
}//end for
System.out.println("main 종료");

바깥 for문이 한 번 실행될 때 안쪽 for문이 조건식 false가 나올 때까지 반복하여 실행됩니다. 결과적으로 i값이 2일 때 j는 1부터 9까지 증가하고, 이후 i값이 1씩 증가하며 9까지 반복됩니다. 따라서 다음과 같은 결과를 얻을 수 있습니다. 

 

 

* 이중(중첩) for문을 사용하여 직각삼각형 만들기

다음과 같이 활용할 수도 있습니다.

for (int i = 1; i <= 5; i++) {
	for (int j = 1; j <= i; j++) {
		System.out.print("*");
	}
	System.out.println();
}

j가 i까지 증가하기 때문에 i가 1일 때 문장이 한 번 수행되고, 2일 때 두 번 수행됩니다. i가 5까지 증가하므로 다음과 같이 * 표시의 개수가 점차 증가하는 모양을 만들 수 있습니다.

 

 

for문의 기본 문법과 다양한 활용 방안을 정리해 보았습니다. 다음 글에서는 반복문 중 while문에 대해 이어서 보도록 하겠습니다. 

 

 

댓글