반응형
앞서 포스트에서는 횟수에 의한 반복문인 for문에 대해 알아보았습니다. 이번 포스트에서는 조건에 의해 반복되는 while문과 do-while문에 대해 자세히 알아보겠습니다.
while문
while문은 조건식이 true일 때 코드를 계속 반복합니다. 조건식이 false가 되면 반복을 멈춥니다. while문의 기본 구조는 아래와 같습니다:
while (조건식) {
// 반복할 코드
}
while문은 조건이 만족되는 동안 계속해서 반복되므로, 반복 횟수를 명확히 알 수 없을 때 주로 사용됩니다.
예를 들어, 사용자로부터 "종료"라는 입력이 들어올 때까지 반복해서 입력을 받는 코드는 아래와 같이 작성할 수 있습니다:
Scanner scanner = new Scanner(System.in);
String input = "";
while (!input.equals("종료")) {
System.out.print("입력해주세요 (종료를 입력하면 종료됩니다): ");
input = scanner.nextLine();
}
do-while문
do-while문은 while문과 유사하지만, 코드를 최소한 한 번은 실행하고 조건을 검사한다는 점에서 차이가 있습니다. 즉, 조건이 처음부터 false라도 블록 안의 코드는 한 번은 실행됩니다. do-while문의 기본 구조는 아래와 같습니다:
do {
// 반복할 코드
} while (조건식);
예를 들어, 최소한 한 번은 "안녕"을 출력하고, 그 후 사용자로부터 "종료"라는 입력이 들어올 때까지 반복해서 "안녕"을 출력하는 코드는 아래와 같이 작성할 수 있습니다:
Scanner scanner = new Scanner(System.in);
String input = "";
do {
System.out.println("안녕");
System.out.print("종료를 입력하면 반복이 종료됩니다: ");
input = scanner.nextLine();
} while (!input.equals("종료"));
break와 continue
또한, for문과 마찬가지로 while문과 do-while문에서도 break와 continue를 사용할 수 있습니다.
- break: 현재 실행 중인 반복문을 바로 종료합니다. 중첩된 반복문이 있을 경우, break가 속한 가장 가까운 반복문만 종료합니다.
int i = 1;
while (i <= 10) {
if (i == 5) {
break; // i가 5가 되면 while문을 바로 종료합니다.
}
System.out.println(i); // 1부터 4까지 출력하고 종료합니다.
i++;
}
위 코드에서는 break를 사용하여 i가 5가 되면 while문을 바로 종료하도록 했습니다. 그래서 출력은 1부터 4까지만 되고 그 이후로는 출력되지 않습니다.
- continue: 현재 실행 중인 반복문의 나머지 부분을 건너뛰고 다음 반복을 진행합니다.
int i = 1;
while (i <= 10) {
if (i % 2 == 0) {
i++;
continue; // i가 짝수일 때 while문의 나머지 부분을 건너뜁니다.
}
System.out.println(i); // 따라서, 1, 3, 5, 7, 9만 출력합니다.
i++;
}
위 코드에서는 continue를 사용하여 i가 짝수일 때는 출력을 건너뛰도록 했습니다. 그래서 출력은 홀수인 1, 3, 5, 7, 9만 되고 짝수는 출력되지 않습니다. 이때, continue 이전에 i++를 해줘야 while문이 무한 반복되지 않습니다.
이렇게 while문과 do-while문을 이용하면 조건에 따라 코드를 반복 실행할 수 있습니다. 이것으로 Java의 기본 제어문에 대해 모두 알아보았습니다. 다음 포스트에서는 배열에 대해 알아보겠습니다.
반응형
'개발 > Java' 카테고리의 다른 글
Java에서의 배열: 활용 (0) | 2023.07.13 |
---|---|
Java에서의 배열: 기초 (0) | 2023.07.13 |
Java의 제어문: for문 (0) | 2023.07.13 |
Java의 제어문: switch문 (0) | 2023.07.12 |
Java의 제어문: if문 (0) | 2023.07.12 |