728x90
반복문 (Loop문)

 

필요에 따라서 특정 문장을 반복적으로 실행해야 할 때 사용

반복문의 종류 : for(forEach), while, do ~ while

ex)

for(변수 초기화; 변수 조건문; 변수 증감식) {
    변수 조건문이 참일 때 실행할 문장;
}

 


예제 1.

<0이상 10이하의 짝수의 합 출력하기>

int result = 0;                        //정수인 변수 result 선언

for (int i = 0; i <= 10; i++) {        //0부터 10까지 반복
    if(i % 2 == 0) {                   //만약 반복하는 수가 짝수일 때
    result += i;                       //변수result에 i값을 더한다
    }
}
System.out.println(result);

[실행결과]

30

예제 2.

<트리만들기>

for (int i = 0; i < 5; i++) {
	for (int j = 4; j > i; j--) { 		// 스페이스바 4개 -> 0개
		System.out.print(" ");
	}
	for (int j = 0; j < i * 2 + 1; j++) { 	// 별 1개 -> 9개
		System.out.print("*");
	}
	System.out.println(""); 		// 엔터
}

[실행결과]

    *
   ***
  *****
 *******
*********

예제 3.

<숫자맞추기>

  • 컴퓨터가 1이상 100 이하의 숫자를 랜덤으로 지정.
  • 사용자가 숫자를 입력하면 UP / DOWN을 출력하고, 일치한다면 "축하합니다" 라고 하면서 출력 종료하는 프로그램
  • 최대 20번 반복
int random = (int) (Math.random() * 99 + 1);
	
Scanner sc = new Scanner(System.in);
		
for (int i = 0; i < 20; i++) {
	System.out.println("숫자를 입력하세요.");

	int input = sc.nextInt();

	if(input < random) {			//컴퓨터 지정 숫자가 더 클 경우
		System.out.println("UP");
	}else if(input > random) {		//컴퓨터 지정 숫자가 더 작을 경우
		System.out.println("DOWN");
	}else {					//컴퓨터 지정 숫자와 동일할 경우
		System.out.println("축하합니다");
		break;
	}
}
sc.close();					// 스케너 닫기

[실행결과]

숫자를 입력하세요.
50
DOWN
숫자를 입력하세요.
20
UP
숫자를 입력하세요.
40
UP
숫자를 입력하세요.
45
DOWN
숫자를 입력하세요.
42
UP
숫자를 입력하세요.
43
축하합니다

예제 4.

<Fizz Buzz>

  • 1부터 25사이의 숫자를 프린트 하는 프로그램
  • 3의배수이면 "Fizz"를, 5의배수이면 "Buzz"를, 15의 배수이면 "FizzBuzz"를 출력
for (int i = 1 ; i <= 25; i++) {
	if(i % 3 == 0 && i % 5 == 0) {
		System.out.println("FizzBuzz");
	}else if(i % 3 == 0) {
		System.out.println("Fizz");
	}else if(i % 5 == 0) {
		System.out.println("Buzz");
	}else {
		System.out.println(i);
	}
}

[실행결과]

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz

예제 5.

<구구단>

  • 1 ~ 9 단 출력
for (int i = 1; i < 10; i++) {					//1 ~ 9단
	System.out.println(i + "단");
	for (int j = 1; j < 10; j++) {				//*1 ~ 9				
	System.out.printf("%d X %d = %d\n", i, j, i * j);					
	}
	System.out.println("");					//단이 끝나면 한 줄 비우기
}

[실행결과]

1단
1 X 1 = 1
1 X 2 = 2
1 X 3 = 3
1 X 4 = 4
1 X 5 = 5
1 X 6 = 6
1 X 7 = 7
1 X 8 = 8
1 X 9 = 9

2단
2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18

3단
3 X 1 = 3
3 X 2 = 6
3 X 3 = 9
3 X 4 = 12
3 X 5 = 15
3 X 6 = 18
3 X 7 = 21
3 X 8 = 24
3 X 9 = 27

4단
4 X 1 = 4
4 X 2 = 8
4 X 3 = 12
4 X 4 = 16
4 X 5 = 20
4 X 6 = 24
4 X 7 = 28
4 X 8 = 32
4 X 9 = 36

5단
5 X 1 = 5
5 X 2 = 10
5 X 3 = 15
5 X 4 = 20
5 X 5 = 25
5 X 6 = 30
5 X 7 = 35
5 X 8 = 40
5 X 9 = 45

6단
6 X 1 = 6
6 X 2 = 12
6 X 3 = 18
6 X 4 = 24
6 X 5 = 30
6 X 6 = 36
6 X 7 = 42
6 X 8 = 48
6 X 9 = 54

7단
7 X 1 = 7
7 X 2 = 14
7 X 3 = 21
7 X 4 = 28
7 X 5 = 35
7 X 6 = 42
7 X 7 = 49
7 X 8 = 56
7 X 9 = 63

8단
8 X 1 = 8
8 X 2 = 16
8 X 3 = 24
8 X 4 = 32
8 X 5 = 40
8 X 6 = 48
8 X 7 = 56
8 X 8 = 64
8 X 9 = 72

9단
9 X 1 = 9
9 X 2 = 18
9 X 3 = 27
9 X 4 = 36
9 X 5 = 45
9 X 6 = 54
9 X 7 = 63
9 X 8 = 72
9 X 9 = 81

예제 5 - 1.

<구구단 특정 단 출력>

  • 짝수인 단만 출력
for (int i = 1; i < 10; i++) {					//1 ~ 9단
	if(i % 2 != 0) {					//i가 홀수일 때 
    	continue;						//위 반복문으로 돌아가기
    }
    System.out.println(i + "단");
	for (int j = 1; j < 10; j++) {				//*1 ~ 9				
	System.out.printf("%d X %d = %d\n", i, j, i * j);				
	}
	System.out.println("");					//단이 끝나면 한 줄 비우기
}

[실행결과]

2단
2 X 1 = 2
2 X 2 = 4
2 X 3 = 6
2 X 4 = 8
2 X 5 = 10
2 X 6 = 12
2 X 7 = 14
2 X 8 = 16
2 X 9 = 18

4단
4 X 1 = 4
4 X 2 = 8
4 X 3 = 12
4 X 4 = 16
4 X 5 = 20
4 X 6 = 24
4 X 7 = 28
4 X 8 = 32
4 X 9 = 36

6단
6 X 1 = 6
6 X 2 = 12
6 X 3 = 18
6 X 4 = 24
6 X 5 = 30
6 X 6 = 36
6 X 7 = 42
6 X 8 = 48
6 X 9 = 54

8단
8 X 1 = 8
8 X 2 = 16
8 X 3 = 24
8 X 4 = 32
8 X 5 = 40
8 X 6 = 48
8 X 7 = 56
8 X 8 = 64
8 X 9 = 72

'JAVA' 카테고리의 다른 글

스위치 (Switch)  (0) 2021.07.06
스캐너 (Scanner)  (0) 2021.07.06
Math.random  (0) 2021.07.06
데이터 스코프  (0) 2021.07.06
if  (0) 2021.07.06

+ Recent posts