카테고리 없음

AWS 웹 개발자 12일차 기초 JAVA - (For, While, Do-while문)

hyeijoo1234 2025. 1. 2. 16:46

 

반복문 (Loops) 정리

반복문 개념

반복문은 프로그램 흐름을 제어하는 제어문 중 하나로, 특정 실행 코드를 반복적으로 수행할 때 사용됩니다. 크게 for, while, do-while로 나뉩니다.


1. for문

for문은 반복 횟수를 지정하여 실행하는 구조입니다.

기본 구조

for (초기식; 조건식; 증감식) {
    // 반복적으로 실행하고자 하는 코드
}

예제 코드

1. 기본 반복

for (int i = 0; i < 10; i++) {
    System.out.println("안녕하세요. " + i);
}

2. 특정 범위의 숫자 출력

// 1~5 숫자 출력
for (int i = 1; i <= 5; i++) {
    System.out.print(i + " ");
}

// 5~1 숫자 출력
for (int i = 5; i > 0; i--) {
    System.out.print(i + " ");
}

3. 정수 입력받아 1부터 해당 수까지 출력

Scanner sc = new Scanner(System.in);
System.out.println("정수 입력:");
int num = sc.nextInt();

for (int i = 1; i <= num; i++) {
    System.out.print(i + " ");
}

4. 누적 금액 계산

Scanner sc = new Scanner(System.in);
System.out.println("아메리카노 몇 잔을 구매하시겠습니까? (가격 1500원): ");
int count = sc.nextInt();

int sum = 0;
for (int i = 1; i <= count; i++) {
    sum += 1500;
    System.out.println(i + "번째 반복 중... 누적 금액: " + sum);
}
System.out.println("결제하실 금액: " + sum + "원");

5. 홀수 출력

// 1부터 10까지 홀수 출력
for (int i = 1; i <= 10; i++) {
    if (i % 2 != 0) {
        System.out.print(i + " ");
    }
}

6. 1부터 100까지의 합

int sum = 0;
for (int i = 1; i <= 100; i++) {
    sum += i;
}
System.out.println("1부터 100까지의 총 합: " + sum);

7. 랜덤값 계산

int n = (int) (Math.random() * 10) + 1;
int sum = 0;

System.out.println("랜덤값: " + n);
for (int i = 1; i <= n; i++) {
    sum += i;
}
System.out.println("1부터 " + n + "까지의 합: " + sum);

2. while문

while문은 조건이 참일 때 반복 실행하는 구조입니다.

기본 구조

초기식;
while (조건식) {
    // 실행할 코드
    증감식 또는 탈출 조건
}

예제 코드

1. 숫자 입력받아 출력 (0 입력 시 종료)

Scanner sc = new Scanner(System.in);
System.out.println("숫자를 입력하세요 (0 입력 시 종료):");

int n = sc.nextInt();
while (n != 0) {
    System.out.println(n);
    n = sc.nextInt();
}

2. 랜덤값 합계 계산

int n = (int) (Math.random() * 100) + 1;
int i = 1, sum = 0;

while (i <= n) {
    sum += i;
    i++;
}
System.out.println("1에서부터 " + n + "까지의 총 합: " + sum);

3. 메뉴 기반 시스템

Scanner sc = new Scanner(System.in);
int num;

System.out.println("서비스 번호를 입력하세요.");
System.out.println("1. 추가");
System.out.println("2. 삭제");
System.out.println("9. 종료");

num = sc.nextInt();
while (num != 9) {
    switch (num) {
        case 1:
            System.out.println("추가되었습니다.");
            break;
        case 2:
            System.out.println("삭제되었습니다.");
            break;
    }
    System.out.println("입력: ");
    num = sc.nextInt();
}

3. do-while문

do-while문은 조건과 상관없이 처음에는 무조건 한 번 실행되는 반복문입니다.

기본 구조

do {
    // 실행할 코드
} while (조건식);

예제 코드

사용자 입력의 누적합

Scanner sc = new Scanner(System.in);
int sum = 0, num;

do {
    System.out.println("숫자를 입력하세요 (0 입력 시 종료):");
    num = sc.nextInt();
    sum += num;
} while (num != 0);

System.out.println("누적합: " + sum);

4. break문

break문은 반복문이나 switch문을 강제로 종료하는 역할을 합니다.

예제 코드

특정 조건에서 반복 종료

int num;
while (true) {
    num = (int) (Math.random() * 100) + 1;
    System.out.println(num);
    if (num % 3 == 0) {
        break;
    }
}

문자열 입력 반복 (exit 입력 시 종료)

Scanner sc = new Scanner(System.in);
String str;

while (true) {
    System.out.println("문자열 입력 (exit 입력 시 종료):");
    str = sc.next();

    if (str.equals("exit")) {
        break;
    }

    System.out.println("문자열 길이: " + str.length());
}

5. continue문

continue문은 반복문의 현재 수행을 중단하고, 바로 다음 반복으로 넘어갑니다.

예제 코드

1부터 100까지 합계 (6의 배수 제외)

int sum = 0;

for (int i = 1; i <= 100; i++) {
    if (i % 6 == 0) {
        continue;
    }
    sum += i;
}

System.out.println("1부터 100까지의 합 (6의 배수 제외): " + sum);

   사용한 메소드

  • Math.random(): 랜덤값 생성
    • 공식: (int) (Math.random() * (최대값 - 최소값 + 1)) + 최소값;
  • 문자열 다루기:
    • charAt(index): 문자열의 특정 인덱스의 문자 가져오기
    • length(): 문자열의 길이 반환