본문 바로가기
BackEnd/Java

[Java] 반복문 for

by summer_light 2021. 7. 1.

반복문 for

반복문 for를 활용할 수 있는 예제들을 적어두었다.

 

 


 

예제 01. 

public class FiveStars {

	public static void main(String[] args) {
		for (int i = 0; i < 5; i++) {//줄
			System.out.println("*****");
		}
	}
}

 

출력결과:

*****

*****

*****

*****

*****

 

public class Fivestars2 {

	public static void main(String[] args) {
		for (int i = 0; i < 5; i++) {//줄
			for (int j = 0; j < i + 1 ; j++) {//별
				System.out.print("*");				
			}
			System.out.println("");
		}
	}	
	
}

 

출력결과:

*

**

***

****

*****

 

package May24;

public class FiveStars3 {

	public static void main(String[] args) {
		for (int i = 0; i < 5; i++) {
			for (int j = 0; j < i + 1 ; j++) {
				System.out.print("*");				
			}
			System.out.println("");
		}
		
		for (int i = 5; i > 0; i--) {
			for (int j = 0; j < i - 1 ; j++) {
				System.out.print("*");				
			}
			System.out.println("");
		}
	}

}

출력결과:

*

**

***

****

*****

****

***

**

*

 

package May24;

public class FiveStars4 {
	public static void main(String[] args) {
		for (int i = 0; i < 5; i++) {
			for (int j = 0; j < 4-i; j++) {//스페이스
				System.out.print(" ");
			}
			for (int j = 0; j < 2*i+1; j++) {//별
				System.out.print("*");
			}
			System.out.println("");
		}
	}
}

출력결과:

____*

___***

__*****

_*******

*********

 

package May24;

public class FiveStars5 {
	public static void main(String[] args) {
		for (int i= 0; i < 5; i++) {
			if(i % 4 == 0) {
				for (int j = 0; j < 5; j++) {
					System.out.print("*");
				}
				System.out.println();
			} else {
				System.out.println("*___*");
			}
		}
	}
}

출력결과:

*****

*___*

*___*

*___*

*****

 

package May24;

import java.util.Scanner;

public class FiveStars6{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("n을 입력하세요: ");
		int input = sc.nextInt();
		int n=input;
		for (int i = 0; i < 2*n-1; i++) {
			for (int j = 0; j < 2*n-1; j++) {
				if(j%(2*n-2) == 0) {
					System.out.print("*");
				} else {
					if(i==j) {
						System.out.print("*");
					} else {
						System.out.print("_");
					}
				}
			}
			System.out.println();
		}

	}
}

출력결과:

n을 입력하세요: 5

*_______*

**______*

*_*_____*

*__*____*

*___*___*

*____*__*

*_____*_*

*______**

*_______*

 

예제02. 구구단

// 구구단 2~9단
		for (int i = 2; i <= 9 ; i++) {
			System.out.println(i + "단");
			for (int j = 1; j <= 9; j++) {
				System.out.println(i + " x " + j + " = " + i*j  );
				//System.out.printf("%d x %d = %d \n", i, j, i*j);
			}
			System.out.println("");
		}	

+ 변수를 포함한 문구 출력 시 두 가지 표현이 가능하다.

System.out.println(i + " x " + j + " = " + i*j );

System.out.printf("%d x %d = %d \n", i, j, i*j); //\n: 줄넘김, \t: 탭

 

 

01) break : 가장 가까운 반복문 탈출

        // 구구단 2~9단
		for (int i = 2; i <= 9 ; i++) {
			for (int j = 1; j <= 9; j++) {
				if (조건) {
           			break; 
				}
				System.out.printf("%d x %d = %d \n", i, j, i*j);
			}
			System.out.println("");
		}	

위 코드를 실행하면 조건에 해당하는 줄이 만나는 순간 반복문을 탈출하므로 조건에 맞는 줄 부터 출력되지 못한다.

 

 

02) continue : 가장 가까운 반복문으로 이동

        // 구구단 2~9단
		for (int i = 2; i <= 9 ; i++) {
			for (int j = 1; j <= 9; j++) {
				if (조건) {
					continue;
				}
				System.out.printf("%d x %d = %d \n", i, j, i*j);
			}
			System.out.println("");
		}	

위 코드를 실행하면 조건에 해당하는 줄은 출력 구문을 만나지 못하고 가장 가까운 다음 줄으로 넘어가게 되어 출력이 되지 못한다.

 

03) 라벨문

중첩된 반복문에서 이름을 줄 수 있다.

즉, 라벨을 이용하여 원하는 반복문을 탈출하거나 제어할 수 있다.

		// 구구단 2~9단
		A: for (int i = 2; i <= 9 ; i++) {
			B: for (int j = 1; j <= 9; j++) {
				if (조건) {
					continue A; 
				}
				System.out.printf("%d x %d = %d \n", i, j, i*j);
			}
			System.out.println("");
		}	

위 코드를 실행하면 조건에 해당하는 줄은 출력 구문을 만나지 못하고 A 반복문으로 이동하게 된다.

 

 

예제03. 숫자 맞추기

컴퓨터가 랜덤한 숫자 두 자리수를 뽑는다

사용자가 숫자를 입력하면 UP/DOWN을 출력하고

일치한다면 "축하합니다"라고 하면서 출력 종료하는 프로그램

1. for 문으로 20번 실행하기

2. 일치하면 for 문 강제 종료하고 프로그램 종료하기

package May24;
import java.util.Scanner;

public class Random{
	public static void main(String[] args) {
		int random02 = (int) (Math.random() * 99 + 1 );
		System.out.println(random02);
		Scanner sc = new Scanner(System.in);
		int num = 0;
		for ( int i = 0; i < 20; i++) {
			System.out.println("숫자를 입력하세요.");
			int input = sc.nextInt();
			num ++;
			if(input == random02) {
				System.out.printf("성공! %d번 만에 성공하였습니다. 랜덤 숫자는 %d 입니다.", num, random02);
				break;
			}
			else {
				if(input < random02 ) {
					System.out.println("UP");
				}
				else {
					System.out.println("DOWN");
				}
			}
		}
	}
}

 

 

'BackEnd > Java' 카테고리의 다른 글

[Java] 무한 반복문 While, Do While  (0) 2021.07.01
[Java] 스위치 Switch  (0) 2021.07.01
[Java] 조건문 if  (0) 2021.07.01
[Java] 연산자  (0) 2021.07.01
[Java] 변수와 자료형  (0) 2021.07.01

댓글