Categories: Java

Java 자바 반복문 (for, while, do-while)과 break, continue

반복문이란?

자바에서 반복문은 일정한 작업을 여러 번 반복해서 수행할 때 사용되는 제어 구조입니다. 반복문은 특정 조건이 참인 동안 코드 블록을 실행하거나, 주어진 횟수만큼 반복하는 등의 작업을 수행합니다. 자바에서는 주로 for, while, do-while 세 가지 종류의 반복문이 사용됩니다.

반복문의 종류와 구조

for 문

for문은 자바에서 반복적인 작업을 수행할 때 주로 사용되는 제어문 중 하나로, 초기화, 조건식, 증감식으로 구성되어 있습니다. 일정한 횟수만큼 반복 실행해야 하는 경우에 매우 유용합니다.

Java
for (초기화; 조건식; 증감식) {
    // 반복 실행될 코드
}
Java
  • 초기화(initialization): 반복문이 시작될 때 최초 한 번만 실행되는 부분입니다. 반복에 사용될 변수들을 초기화합니다.
  • 조건식(condition): 반복문이 실행될 조건을 검사하는 부분입니다. 조건이 참(true)인 동안 계속해서 반복문이 실행됩니다.
  • 증감식(increment/decrement): 각 반복이 끝난 후에 실행되는 부분으로, 반복 변수의 값을 증가시키거나 감소시키는 역할을 합니다.

while 문

while문은 조건식이 참일 경우에 한해 반복적으로 코드를 실행하는 제어문입니다. 조건이 미리 정해지지 않은 상황에서 사용되며, 조건이 참인 동안 계속 반복됩니다.

Java
while (조건식) {
    // 반복 실행될 코드
}
Java
  • 조건식이 참(true)인 동안 계속해서 반복문이 실행됩니다.
  • 조건식이 거짓(false)이면 반복문을 빠져나가게 됩니다.

do-while 문

do-while문은 코드 블록을 먼저 실행한 후에 조건식을 평가하여 반복 여부를 결정하는 반복문입니다. 이는 조건이 미리 정해지지 않았고, 최소한 한 번은 반복을 수행해야 하는 상황에서 사용됩니다.

Java
do {
    // 반복 실행될 코드
} while (조건식);
Java
  • 먼저 코드 블록을 실행한 후에 조건식을 평가합니다.
  • 조건식이 참(true)인 경우에는 계속해서 반복 실행됩니다.
  • 조건식이 거짓(false)인 경우에도 최소한 한 번은 코드 블록이 실행됩니다.

break 와 continue

break와 continue는 제어문 내에서 흐름을 제어하는 키워드로, 주로 반복문 (for, while, do-while) 내에서 사용됩니다. 아래에서 각각의 역할과 예제에 대해 자세히 설명하겠습니다.

break

break는 반복문 내에서 실행 중인 반복문을 즉시 종료하고, 해당 반복문을 빠져나가게 합니다.

Java
for (int i = 1; i <= 5; i++) {
    if (i == 3) {
        System.out.println("반복문 종료!");
        break;
    }
    System.out.println("현재 i 값: " + i);
}
Java
  1. for문을 이용하여 1부터 5까지의 숫자를 반복합니다.
  2. if (i == 3)에서 i가 3일 때 break가 실행되어 반복문이 종료됩니다.
  3. 따라서 “현재 i 값: ” 출력이 1, 2까지만 이루어지고, “반복문 종료!”가 출력됩니다.

continue

continue는 반복문 내에서 현재 반복을 종료하고 다음 반복으로 넘어갑니다.

Java
for (int i = 1; i <= 5; i++) {
    if (i == 3) {
        System.out.println("현재 i 값이 3이므로 현재 반복을 건너뜁니다.");
        continue;
    }
    System.out.println("현재 i 값: " + i);
}
Java
  1. for문을 이용하여 1부터 5까지의 숫자를 반복합니다.
  2. if (i == 3)에서 continue가 실행되어 현재 반복이 종료되고 다음 반복으로 넘어갑니다.
  3. 따라서 “현재 i 값: ” 출력이 1, 2 까지 이루어지고, “현재 i 값이 3이므로 현재 반복을 건너뜁니다.”가 출력 된 후 4, 5가 출력 됩니다.

조건문의 예제

for 문

Java
// 1부터 5까지의 숫자 출력
for (int i = 1; i <= 5; i++) {
    System.out.println(i);
}
Java
  1. int i = 1;: 초기화 단계에서 i 변수를 1로 초기화합니다.
  2. i <= 5;: 조건식에서는 i가 5 이하인 동안 반복합니다.
  3. System.out.println(i);: 코드 블록 내에서는 현재의 i 값을 출력합니다.
  4. i++: 증감식에서는 i 값을 1씩 증가시킵니다.

이렇게 작성된 for문은 1부터 5까지의 숫자를 순차적으로 출력하게 됩니다. for문은 반복 횟수가 명확할 때 사용하기 적합합니다.

while 문

Java
// 1부터 3까지의 숫자 출력
int i = 1;
while (i <= 3) {
    System.out.println(i);
    i++;
}
Java
  1. int i = 1;: 초기화 단계에서 i 변수를 1로 초기화합니다.
  2. i <= 3;: 조건식에서는 i가 3 이하인 동안 반복합니다.
  3. System.out.println(i);: 코드 블록 내에서는 현재의 i 값을 출력합니다.
  4. i++: 증감식에서는 i 값을 1씩 증가시킵니다.

이렇게 작성된 while문은 1부터 3까지의 숫자를 출력하게 됩니다. while문은 반복 횟수가 불확실한 경우에 사용되며, 조건식이 참인 동안 계속 반복합니다. 조건식이 거짓이면 반복이 종료됩니다.

do-while 문

Java
// 1부터 3까지의 숫자 출력
int i = 1;
do {
    System.out.println(i);
    i++;
} while (i <= 3);
Java
  1. int i = 1;: 초기화 단계에서 i 변수를 1로 초기화합니다.
  2. do { … }: do 키워드 다음에 중괄호로 묶인 코드 블록이 나옵니다. 이 부분은 조건 검사 없이 무조건 한 번은 실행됩니다.
  3. System.out.println(i);: 코드 블록 내에서는 현재의 i 값을 출력합니다.
  4. i++: 증감식에서는 i 값을 1씩 증가시킵니다.
  5. while (i <= 3);: while 키워드 다음에는 조건식이 등장합니다. 이 부분에서는 i가 3 이하인 동안에는 계속 반복합니다.

이렇게 작성된 do-while문은 1부터 3까지의 숫자를 출력하게 됩니다. do-while문은 최소한 한 번은 반복을 보장하고, 조건에 따라 추가적으로 반복 여부를 결정할 때 유용하게 사용됩니다.

결론

자바에서 제공하는 반복문들은 각각의 특성에 따라 다양한 상황에서 유용하게 활용될 수 있습니다. for문은 반복 범위가 명확한 경우에, while문은 조건에 따라 반복해야 하는 경우에, 그리고 do-while문은 최소한 한 번은 실행해야 하는 경우에 적합합니다. 상황에 맞게 적절한 반복문을 선택하면 코드를 효율적으로 작성할 수 있습니다.

suover

Recent Posts

Network 인터넷 네트워크란? 개념과 구조 완벽 정리

인터넷 네트워크란? "인터넷(Internet)"이라는 단어는 "인터네트워크(Internetwork)"의 줄임말입니다. 즉, 여러 개의 네트워크가 상호 연결되어 전 세계적으로 하나의…

3주 ago

Spring 스프링 빈 스코프(Bean Scope) 개념 정리

스프링 빈(Spring Bean)과 IoC 컨테이너 스프링 프레임워크의 핵심 철학은 IoC(Inversion of Control) 컨테이너를 통해 객체(빈,…

4주 ago

Spring 스프링 빈 생명주기(Bean Lifecycle)와 콜백(Callback)

스프링 빈이란? 스프링 프레임워크에서 "스프링 빈(Bean)"이란, IoC(Inversion of Control) 컨테이너가 직접 관리하는 객체를 말합니다. @Component,…

1개월 ago

Spring 스프링 의존성 주입(Dependency Injection)이란?

의존성 주입(Dependency Injection)이란? 프로그램을 개발하다 보면, 여러 클래스나 객체들은 서로 필요한 기능을 사용하기 위해 관계를…

1개월 ago

Spring 스프링 컴포넌트 스캔(Component Scan)이란?

컴포넌트 스캔이란? 컴포넌트 스캔(Component Scan)은 스프링 프레임워크가 특정 패키지를 탐색하면서, 스캔 대상에 해당하는 클래스를 찾아…

2개월 ago

Spring 스프링 빈(Bean)이란?

스프링 빈이란? 스프링 빈(Spring Bean)은 스프링 IoC(Inversion of Control) 컨테이너가 관리하는 자바 객체를 의미합니다. 간단히…

2개월 ago