반복문 (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 |