본문 바로가기

BackEnd/Java

for 문

반복문의 종류

while 문

조건식이 참이면 문장의 블록을 반복적으로 실행한다. 조건이 만족되면 반복을 계속 하는 구조이기 때문에 조건에 따라서 반복하는 경우에 사용한다.

반복의 횟수를 지정하기 위해 while 문 외부에 변수 i 의 값을 초기화하고 while 문 안에서 i의 값을 증가시킨다.

 

for 문

특정한 횟수만큼 반복 실행을 원하는 경우에 사용된다. 

 

 

 

for 문 형식

 

while 문에서 변수 초기화, 조건, 증감하는 코드를 따로따로 작성했지만,

for 문의 경우에는 for 다음의 소괄호 ( ) 안에 세미콜론 ; 으로 구분하여 다음과 같이 한번에 작성한다.

 

초기화의 경우에는 for 문이 실행될 때 가장 먼저 한번만 실행되도록 약속되어있다. 

 

for 문 형식

 

 

 

예제 1) 1 부터 10까지 출력하시오.

while 문

class WhileDemo {
	public static void main(String[] args) {
		int i = 1;
		while (i < 11) {
			System.out.println(i + "번 반복하였습니다.");
			i++;
		}
	}
}

for 문

class ForDemo {
	public static void main(String[] args) {
		for (int i = 1; i < 11; i++) {
			System.out.println(i + "번 반복하였습니다.");
		}
	}
}

두 코드의 결과는 동일하지만 훨씬 간결한 것은 for문이라고 할 수 있다.

 

 

예제 2) for 문, while 문을 사용해 1 ~ 100 사이의 홀수 출력하기

for (int i = 1; i <= 100; i += 2) {
	System.out.println(i);
}

→ i += 2 와 같이 2씩 더하여 홀수를 출력할 수 있다.

for (int i = 1; i < 100; i++) {
	if (i % 2 == 1) {
		System.out.println(i);
	}
}

→ 조건문과 나머지 연산자를 활용하여 홀수만 출력한다. 

int i = 1;
while (i < 100) {
	if (i % 2 == 1) {
		System.out.println(i);
	}
	i++;
}

→ while 문을 사용한 예시

 

예제 3) 거듭제곱 구하기

// 2의 거듭제곱
for (int i = 2; i <= 1000; i *= 2) {
	System.out.println(i);
}

// 3의 거듭제곱
for (int i = 3; i <= 1000; i *= 3) {
	System.out.println(i);
}

// 4의 거듭제곱
for (int i = 4; i <= 1000; i *= 4) {
	System.out.println(i);
}