자바 프로그래밍에서 조건문과 반복문은 프로그램 흐름을 제어하고 로직을 실행하는 핵심 요소입니다. 이 글에서는 자바에서 조건문과 반복문을 사용하는 방법을 자세히 알아보고, 다양한 예제 코드와 함께 설명하겠습니다.
조건문 (Conditional Statements)
조건문은 프로그램의 흐름을 제어하고, 특정 조건에 따라 프로그램의 실행 경로를 변경하여 다른 작업을 수행하는 핵심적인 요소 중 하나입니다. 자바에서는 주로 if, else if, else 문을 사용합니다.
조건문의 역할
1. 조건 검사: 주어진 조건을 검사하여 조건이 참 또는 거짓인지 판단합니다.
2. 프로그램 흐름 제어: 조건문은 조건에 따라 프로그램의 실행 흐름을 변경합니다. 즉, 특정 조건이 참일 때와 거짓일 때 다른 코드 블록을 실행할 수 있습니다.
3. 다양한 상황 처리: 다양한 상황에 대응하기 위해 조건문을 사용하여 프로그램이 유연하게 동작하도록 할 수 있습니다.
조건문 종류
1. if 문
if 문은 가장 기본적인 조건문으로, 주어진 조건이 참(true)인 경우에만 코드 블록을 실행합니다.
if (조건) {
// 조건이 참일 때 실행되는 코드
}
if 문 예제 코드입니다. 아래 코드에서 if 문은 number가 0보다 큰지를 확인하고, 참이면 "양수입니다."를 출력합니다.
int number = 5;
if (number > 0) {
System.out.println("양수입니다.");
}
2. else if 문, else 문
- else if 문은 여러 개의 조건을 검사하고자 할 때 사용됩니다. 이전 조건이 거짓인 경우 현재 조건을 검사합니다.
- else 문은 이전의 모든 조건이 거짓인 경우 실행됩니다. if 문 또는 else if 문의 조건이 참이 아닌 경우 else 블록이 실행됩니다. else 문은 선택 사항이며, 조건문의 끝에 위치합니다.
if (조건1) {
// 조건1이 참일 때 실행되는 코드
} else if (조건2) {
// 조건2가 참일 때 실행되는 코드
} else {
// 모든 조건이 거짓일 때 실행되는 코드
}
else if 문, else 문 예제 코드입니다. 어떤 수가 음수인지, 양수인지 또는 0인지 확인하고 해당하는 문구를 출력합니다.
int number = -2;
if (number > 0) {
System.out.println("양수입니다.");
} else if (number < 0) {
System.out.println("음수입니다.");
} else {
System.out.println("0입니다.");
}
3. switch 문
switch 문은 여러 가지 상황(case)에 따라 다른 동작을 수행하고자 할 때 사용됩니다.
switch (표현식) {
case 값1:
// 값1에 해당하는 동작
break;
case 값2:
// 값2에 해당하는 동작
break;
// ...
default:
// 어떤 case에도 해당하지 않을 때 실행되는 동작
}
switch 문 예제 코드입니다. 요일에 따라 다른 작업을 수행하여 해당하는 문구를 출력합니다.
int dayOfWeek = 2;
String day;
switch (dayOfWeek) {
case 1:
day = "월요일";
break;
case 2:
day = "화요일";
break;
// ...
default:
day = "알 수 없는 요일";
}
System.out.printf("오늘은 %s 입니다.", day);
조건문의 활용 예제
조건문 예제 1: 소수 판별
소수는 1과 자기 자신을 제외하고 어떤 수로도 나누어지지 않는 수입니다. 이를 검사하는 코드는 다음과 같습니다.
int number = 13;
boolean isPrime = true;
if (number <= 1) {
isPrime = false;
} else {
for (int i = 2; i <= Math.sqrt(number); i++) {
if (number % i == 0) {
isPrime = false;
break;
}
}
}
if (isPrime) {
System.out.println(number + "는 소수입니다.");
} else {
System.out.println(number + "는 소수가 아닙니다.");
}
조건문 예제 2: 계절 판별
월(month)을 입력받아 계절을 판별하는 코드는 다음과 같습니다.
int month = 7;
String season;
switch (month) {
case 3:
case 4:
case 5:
season = "봄";
break;
case 6:
case 7:
case 8:
season = "여름";
break;
case 9:
case 10:
case 11:
season = "가을";
break;
case 12:
case 1:
case 2:
season = "겨울";
break;
default:
season = "잘못된 월";
}
System.out.printf("%d 월은 %s 입니다.", month, season);
자바의 조건문은 프로그램의 흐름을 제어하고 다양한 조건에 따라 다른 작업을 수행하는 데 필수적인 도구입니다. if, else if, else, switch와 같은 문장을 활용하여 프로그램을 논리적으로 설계하고 다양한 상황에 대응할 수 있으며, 조건문을 잘 활용하면 복잡한 로직을 효과적으로 구현할 수 있습니다.
반복문 (Loop Statements)
반복문은 특정 조건을 만족하는 동안 코드 블록을 반복 실행하는 데 사용됩니다. 특정 작업을 반복하여 수행하는 데 도움을 주며, 코드의 중복을 피하고 작업을 효율적으로 처리할 수 있습니다. 자바에서는 for, while, do-while 반복문을 지원합니다.
반복문의 종류
1. for 문
for 문은 초기화, 조건 검사, 증감식을 지정하여 반복 작업을 수행합니다. 일정 횟수만큼 코드를 반복 실행할 때 주로 사용됩니다.
for 문의 기본 구조
- 초기화: 반복문이 시작될 때 한 번만 실행되며, 반복문 변수를 초기화합니다.
- 조건: 반복문의 실행 조건을 검사합니다. 조건이 참이면 코드 블록이 실행됩니다.
- 증감식: 각 반복 사이클이 끝날 때마다 실행되며, 반복문 변수를 증가 또는 감소시킵니다.
for (초기화; 조건; 증감식) {
// 반복 실행할 코드
}
for 문 예제 코드입니다. for 문을 사용하여 1부터 10까지의 숫자를 출력합니다.
▷▶ 변수 i를 1 값으로 초기화하고, i가 10보다 작거나 같은 동안 반복문을 실행하며, 매 반복마다 i를 1씩 증가시킵니다.
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}
2. while 문
while 반복문은 주어진 조건이 참인 동안 코드를 반복해서 실행합니다. for 반복문과 다르게 초기화와 증감식을 직접 명시하지 않으며, 조건이 참인 동안 반복을 계속합니다.
while (조건) {
// 반복 실행할 코드
}
while 문 예제 코드입니다. 1부터 10까지의 숫자를 출력하는 프로그램을 while 반복문을 사용하여 작성한다면 다음과 같이 할 수 있습니다.
▷▶ 변수 i를 초기화하고, i가 10보다 작거나 같은 동안 반복하여 숫자를 출력하고 i를 1씩 증가시킵니다.
int i = 1;
while (i <= 10) {
System.out.println(i);
i++;
}
3. do-while 문
do-while 문은 조건을 검사하기 전에 먼저 루프 내의 코드 블록을 최소한 한 번 실행합니다. 그런 다음 조건을 검사하고 조건이 참인 경우 루프를 다시 실행합니다. 이것은 조건이 거짓일 때까지 반복을 보장하는 데 사용됩니다. 이런 특성 때문에 do-while 반복문은 최소 한 번은 실행해야 할 경우에 매우 유용합니다.
do {
// 실행할 코드 블록
} while (조건);
do-while 문 예제 코드입니다. 1부터 5까지의 숫자를 출력하는 프로그램을 do-while 반복문을 사용하여 작성한다면 다음과 같이 할 수 있습니다.
▷▶ do 블록 내에서 변수 i를 출력하고 증가시키며, while 조건에서 i가 5보다 작거나 같은지를 검사합니다. 조건이 참인 동안 루프는 계속 실행됩니다.
public class DoWhileExample {
public static void main(String[] args) {
int i = 1;
do {
System.out.println(i);
i++;
} while (i <= 5);
}
}
※ do-while 반복문의 주의사항
do-while 루프를 사용할 때 주의해야 할 중요한 점은 조건을 무조건 한 번은 만족해야 한다는 것입니다. 그렇지 않으면 무한 루프에 빠질 수 있습니다. 루프 내에서 조건을 변경하여 이를 방지할 필요가 있습니다.
반복문의 활용 예제
반복문 예제 1: 배열의 요소 반복
배열은 여러 값을 하나의 변수에 저장하는 데 사용됩니다. for 반복문을 사용하여 배열의 모든 요소를 반복적으로 처리할 수 있습니다.
int[] numbers = {1, 2, 3, 4, 5};
for (int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]);
}
반복문 예제 2: 사용자 입력 처리
사용자로부터 입력을 받아 처리할 때 while 반복문을 사용할 수 있습니다. 예를 들어, 사용자가 특정 조건을 만족할 때까지 입력을 받는 프로그램을 작성할 수 있습니다.
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
String input;
while (true) {
System.out.print("계속하려면 'y'를 입력하세요: ");
input = scanner.nextLine();
if (input.equalsIgnoreCase("y")) {
System.out.println("계속합니다.");
} else {
System.out.println("프로그램을 종료합니다.");
break;
}
}
반복문 예제 3: 조건에 따른 반복
특정 조건을 만족할 때만 반복을 실행하는 경우 while 또는 for 반복문과 if 문을 함께 사용할 수 있습니다. 1부터 100까지의 짝수만 출력하는 프로그램을 작성할 때 다음과 같이 할 수 있습니다.
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) {
System.out.println(i);
}
}
반복문의 중요 개념
자바에서 반복문을 사용할 때 몇 가지 중요한 개념을 이해하고 고려해야 합니다.
1. 초기화와 종료 조건
- 반복문에서 변수를 초기화하고, 종료 조건을 올바르게 설정해야 합니다. 이를 통해 무한 루프를 피하고 원하는 횟수만큼 반복을 실행할 수 있습니다.
2. 증감식
- 변수를 증가 또는 감소시켜야 하는 경우, 증감식을 올바르게 작성해야 합니다. 이를 통해 변수의 상태를 제어할 수 있습니다.
3. break와 continue
- break 문을 사용하여 반복문을 중단하거나, continue 문을 사용하여 반복문의 다음 반복 사이클로 이동할 수 있습니다. 이를 통해 특정 조건 아래에서 반복을 중단하거나 건너뛸 수 있습니다.
자바에서 반복문은 프로그래밍에서 핵심적인 역할을 합니다. for 문과 while 문의 사용법을 익히고, 적절히 활용하면 코드의 재사용과 효율성을 향상시키는 데 많은 도움이 됩니다.
'# Coding > Java' 카테고리의 다른 글
| 자바 클래스 제작, 객체 생성 (0) | 2023.09.19 |
|---|---|
| 자바 객체 지향 프로그래밍 (1) | 2023.09.14 |
| 자바 배열, 배열과 메모리 (0) | 2023.09.12 |
| 자바 특수 문자, 서식 문자, 연산자 (1) | 2023.09.11 |
| 자바 변수 기본자료형 (0) | 2023.09.11 |