본문 바로가기
Java

반복문

by 코낄2 2024. 6. 17.

반복문은 코드 블록을 여러 번 실행하기 위해 사용됩니다. for문while문은 가장 흔히 사용되는 두 가지 반복문입니다.

1. For 문

for문반복 횟수가 명확히 정해져 있을 때 주로 사용됩니다.

선언은 반복문에서 사용할 변수를 초기화하는 데 사용됩니다. 조건이 참인 동안 코드가 반복 실행됩니다. 증감은 각 반복이 끝날 때마다 반복 변수를 증가하거나 감소시킵니다.

// 반복문 For
for (선언;조건;증감) {
    ... 수행 명령 ...
}
참고.
IntelliJ 에서는 fori 만 적고 엔터하면 기본 틀 자동 완성!
// 나코 매장
System.out.println("어서오세요. 나코입니다.");
// 또다른 손님이 들어오면?
System.out.println("어서오세요. 나코입니다.");
System.out.println("어서오세요. 나코입니다.");
System.out.println("어서오세요. 나코입니다.");
System.out.println("어서오세요. 나코입니다.");
System.out.println("어서오세요. 나코입니다.");

// 반복문으로 여러번 print 하기
for (int i = 0; i < 10 ; i ++) {
    System.out.println("어서오세요. 나코입니다" + i);
}
// 짝수만 출력
for (int i = 0; i < 10; i += 2) {
    System.out.print(i);
}
02468
// 홀수만 출력
for (int i = 1; i < 10; i += 2) {
    System.out.print(i);
}
13579
// 거꾸로 숫자
for (int i = 5; i > 0 ; i--) {
    System.out.print(i);
}

System.out.println();

// 1부터 10까지의 수들의 합
int sum = 0;
for (int i = 0; i < 10; i++) {
    sum += i+1;
}
System.out.println("총 합은 " + sum + "입니다.");
54321
총 합은 55입니다.

2. While 문

while문은 반복 조건이 참인 동안 계속해서 코드 블록을 실행합니다. 반복 횟수가 명확하지 않거나 조건에 따라 반복을 종료하고자 할 때 유용합니다.

while (조건) {
    // 반복할 코드
}
public static void main(String[] args) {
    // 반복문 While
    int distance = 25;
    int move = 0;
    while (move < distance) {
        // 조건이 참인동안 반복 수행
        System.out.println("발차기를 합니다. " + move);
        move += 3;
    }
    System.out.println("도착했습니다.");

    // 무한루프에 빠지지 않도록 조심해야한다.
}
발차기를 합니다. 0
발차기를 합니다. 3
발차기를 합니다. 6
발차기를 합니다. 9
발차기를 합니다. 12
발차기를 합니다. 15
발차기를 합니다. 18
발차기를 합니다. 21
발차기를 합니다. 24
도착했습니다.

 

3. Do While 문

do-while 문은 while문과 비슷하지만, 조건을 확인하기 전에 코드 블록을 최소한 한 번 실행하는 차이점이 있습니다. 즉, 반복 조건이 처음부터 false여도 코드 블록이 최소 한 번은 실행됩니다.

do {
    // 반복할 코드
} while (조건);
int distance = 25;
int move = 0;
int height = 25;

while (move + height < distance) {
    System.out.println("발차기를 합니다. " + move);
    move += 3;
}
System.out.println("도착했습니다 " + move);

// Do While 반복문
do {
    System.out.println("발차기를 합니다. " + move);
    move += 3;
} while (move + height < distance);
System.out.println("도착했습니다 "+ move);
도착했습니다 0
발차기를 합니다. 0
도착했습니다 3

4. 이중 반복문

// 별(*) 사각형 만들기
for (int i = 0; i < 5; i++) {
    for (int j = 0; j < 5; j++) {
        System.out.print("*");
    }
    System.out.println();
}
*****
*****
*****
*****
*****
// 별 완쪽 삼각형 만들기
for (int i = 0; i < 5; i++) {
    for (int j = 5; j > i; j-- ) {
        System.out.print("*");
    }
    System.out.println();
}

for (int i = 0; i < 5; i++) {
    for (int j = 0; j < i + 1; j++ ) {
        System.out.print("*");
    }
    System.out.println();
}
*****
****
***
**
*
*
**
***
****
*****
// 별 오른쪽 삼각형 만들기
for (int i = 0; i < 5; i++) {
    for (int j = 0; j < 4 - i; j++) {
        System.out.print(" ");
    }
    for (int k = 0; k < i+1; k++) {
        System.out.print("*");
    }
    System.out.println();
}

for (int i = 0; i < 5; i++) {
    for (int j = 0; j < i; j++) {
        System.out.print(" ");
    }
    for (int j = 0; j < 5-i; j++) {
        System.out.print("*");
    }
    System.out.println();
}
    *
   **
  ***
 ****
*****
*****
 ****
  ***
   **
    *
// 구구단 만들어보기
for (int i = 2; i < 10; i++) {
    for (int j = 1; j < 10; j++) {
        System.out.println( i + " * " + j + " = " + i*j);
    }
}
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
4 * 9 = 36
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
6 * 1 = 6
6 * 2 = 12
6 * 3 = 18
6 * 4 = 24
6 * 5 = 30
6 * 6 = 36
6 * 7 = 42
6 * 8 = 48
6 * 9 = 54
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
7 * 6 = 42
7 * 7 = 49
7 * 8 = 56
7 * 9 = 63
8 * 1 = 8
8 * 2 = 16
8 * 3 = 24
8 * 4 = 32
8 * 5 = 40
8 * 6 = 48
8 * 7 = 56
8 * 8 = 64
8 * 9 = 72
9 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81

경차나 다자녀 등 할인 가능한 경우는 반값, 그렇지 않은 경우 한시간에 4000천원. 하루 최대 3만원의 주차비 관리.

String car = "special";
int time = 10;
boolean parking = true;
int cost = 0;
int max = car.contains("special") ? 15000 : 30000;
int rate = car.contains("special") ? 2000 : 4000;

for (int i = 0; i < time; i++) {
    cost = (i + 1) * rate;
    if (cost >= max) {
        System.out.println("최대 주차비 도달. " + max);
        break;
    }
    System.out.println("주차비 : " + cost);
}
주차비 : 2000
주차비 : 4000
주차비 : 6000
주차비 : 8000
주차비 : 10000
주차비 : 12000
주차비 : 14000
최대 주차비 도달. 15000

'Java' 카테고리의 다른 글

조건문  (0) 2024.06.09
String  (1) 2024.06.05
연산자  (0) 2024.06.05
출력,자료형,형변환  (0) 2024.06.01
윈도우에서 JDK / IDE 설치  (0) 2024.05.31