반복문 (Loop)
반복문이란, 코드를 반복적으로 실행하게 하는 제어문의 한 종류이다. 반복문의 종류는 for문과 while문, do-while문이 있다. for문은 반복횟수를 알 때 사용하고, while문은 조건에 따라 반복할 때 주로 사용한다.
for문
int num = 0;
for(int i = 0(초기화); i < 10(조건식); i++(증감식) {
num+= i;
}
System.out.println(num);
i는 임의로 정한 변수이자 반복문에서 많이 사용되는 iterator(반복계수)이다. 초기화를 통해 i = 0이라는 초깃값을 정하고, i가 언제까지 반복할지 정해주는 조건식을 입력한다. 이후 반복할 때마다 i가 얼마나 증가할지 (여기선 1씩 증가) 결정하는 증감식으로 괄호를 닫는다. 중괄호에는 실행문을 넣는다.
for문은 한 마디로, 조건식이 true인 동안은 초기화식부터 증감식의 규칙을 따라 반복해서 실행한다. 조건에 충족되지 못할 때 실행이 멈춘다. 따라서 초기화식이 불필요한 경우에는 생략할 수 있고, 초기화식과 증감식은 둘 이상이 될 수 있다.
아래는 for문을 사용하여 입력한 수의 팩토리얼값을 구하는 연습해본 코드다.
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
int num;
int fact = 1;
System.out.print("양수를 입력하세요: ");
num = scanner.nextInt();
for(int i = 1; i <= num; i++)
{
fact = fact * i;
}
System.out.println("팩토리얼: "+ fact);
}
} // 결과: 양수를 입력하세요: 5, 팩토리얼: 120
while문
(초기화);
while(조건식) {
실행문;
증감식;
while문은 조건이 충족되는 경우에 계속해서 실행문을 반목 실행시킨다. 초기화와 증감식의 위치가 for문과 다르지만 상호 대체가 가능하다.
아래는 입력받은 짝수보다 작은 짝수를 문자열로 출력하는 코드를 연습해본 것이다.
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
System.out.println("짝수를 입력하세요.");
int num = scanner.nextInt();
String result = "";
int i = 2;
while(i < num) {
result += i;
i += 2;
}
System.out.println(num + "보다 작은 짝수는 : " + result);
}
} // 결과: 짝수를 입력하세요. 20, 20보다 작은 짝수는 : 24681012141618
do-while문
do {
실행문
} while (조건식);
do-while문은 조건식에 의해 실행문을 반복 실행한다. while문은 조건식을 시작할 때 검사해 블록 내부의 실행 여부를 결정하지만 do-while문은 실행의 순서가 다르다. 우선 실행문을 모두 실행하고, 조건식을 평가하는 순서다. 결과가 참이면 실행문과 조건식을 반복 실행하고, 거짓일 때 do-while문을 종료한다.