for (초기화; 조건; 증감) {
// 반복할 코드
}
while (조건) {
// 반복할 코드
}
for문: 반복 횟수를 정확히 알 때 사용한다.
예: 배열 순회, 1부터 100까지 더하기
while문: 조건이 만족될 때까지 반복할 때 사용한다.
예: 사용자가 'q' 입력할 때까지 입력 받기, 파일 끝까지 읽기
while(true) - 매우 직관적for(;;) - 덜 직관적성능 차이는 거의 없다. 현대 컴파일러는 둘 다 비슷한 기계어 코드로 최적화한다.
import java.util.Scanner;
public class DetailedLoopComparison {
public static void main(String[] args) {
// 1. for문 예제: 1부터 5까지의 합 구하기
int sum1 = 0;
for (int i = 1; i <= 5; i++) {
sum1 += i;
System.out.println("for문: 현재 i = " + i + ", 합계 = " + sum1);
}
System.out.println("for문 최종 결과: " + sum1);
// 2. while문으로 같은 작업 하기
int sum2 = 0;
int j = 1;
while (j <= 5) {
sum2 += j;
System.out.println("while문: 현재 j = " + j + ", 합계 = " + sum2);
j++;
}
System.out.println("while문 최종 결과: " + sum2);
// 3. while문의 유연성을 보여주는 예제: 사용자 입력 받기
Scanner scanner = new Scanner(System.in);
String input = "";
while (!input.equals("q")) {
System.out.print("문자를 입력하세요 (종료: q): ");
input = scanner.nextLine();
if (!input.equals("q")) {
System.out.println("입력한 문자: " + input);
}
}
System.out.println("입력 종료!");
scanner.close();
}
}
for문 예제
while문으로 같은 작업 하기
while문의 유연성을 보여주는 예제
이렇게 자세하게 설명하면, for문과 while문의 차이점을 확실히 이해할 수 있을 거다. 실제로 코딩할 때 이 차이를 생각하면서 상황에 맞는 반복문을 골라 쓰면 된다.