녕의 학습 기록

[Java] for 반복문 본문

Dev/Java

[Java] for 반복문

kjyyjk 2022. 6. 27. 23:03

for문은 주어진 횟수만큼 실행문을 반복 실행할 때 적합한 반복 제어문이다.

 

for문의 구조는 다음과 같다.

 

for (초기화식;조건식;증감식){

	실행문
    
}

 

제일 먼저 초기화식에서 변수를 선언하며 값을 대입해 초기화하고 조건식을 평가해, 실행문을 실행한다.

 

블록 내부의 실행문들을 모두 실행하면 증감식을 실행하여 변수를 1만큼 증감하고, 다시 조건식을 평가한다.

 

조건식이 true이면 실행문을 실행, false이면 실행하지 않고 반복을 끝낸다.

 

for (int i=1 ; i<11 ; i++){
	System.out.println(i);	//실행문
}

1부터 10까지의 정수를 출력하는 for 반복문이다.

 

초기에 i=1로 시작하여 조건식 i<11을 만족하니 실행문을 실행하고, 증감식에 따라 i의 값을 1 증가시킨다.

 

다시 i = 1+1 = 2로 i<11을 만족하니 과정을 반복하게 되고 결과값으로 1부터 10까지의 정수값을 받을 수 있다.

 

 

 다음과 같이 for문 이전에 변수가 미리 초기화 된 경우 for문내에서 초기화식을 생략할 수 있다.

int i = 1;

for ( ; i<11 ; i++ ){
	//실행문
}

 

중첩for문은 for문이 또 다른 for 문을 내포하는 것을 말한다.

 

이 경우 바깥쪽의 for문이 한번 실행할 때 마다 안쪽의 for문은 지정된 횟수만큼 반복해서 돌고

 

다시 바깥쪽의 for문으로 돌아간다.

 

//구구단 출력

for (int dan=3 ; dan<8 ; dan++) {	//전체 5번 반복(3~7)
	for (int i=1; i<10; i++) {        //해당 단 1~9곱
		System.out.println(dan + " * " + i + " = " + (dan*i));
		}
	System.out.println("\n");     //단끼리 띄어쓰기
	}

위는 3단부터 7단까지의 구구단을 출력하는 코드이다.

 

 

바깥 쪽의 for문이 전체 반복횟수, 즉 단수를 의미하고. 안쪽의 for문이 한번의 반복 내에서 반복하는 횟수를 의미한다.

 

이러한 중첩 for문을 이용하면 '별찍기'라는 것도 가능하다.

 

public class Star1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for (int i=1;i<6;i++) {		//전체 5행
			for (int j=1; j<i+1;j++) {	//n행의 반복횟수 = n번
				System.out.print('*');	//n번 반복하여 별찍기
			}
			System.out.print("\n");	//행 바꿈
		}
	}

}

 

결과값은 다음과 같다.

 

 

'Dev > Java' 카테고리의 다른 글

[Java] 배열  (0) 2022.07.02
[Java] 객체 / 클래스 (0)  (0) 2022.06.29
[Java] Switch 조건문  (0) 2022.06.27
[Java] if 조건문  (0) 2022.06.26
[Java] 타입변환  (0) 2022.06.25