Notice
Recent Posts
Recent Comments
Link
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

스포츠마케터의 초보 개발자 도전기

JAVA study 04 본문

develop/JAVA

JAVA study 04

teammate brothers 2024. 3. 5. 10:56

1. 다중 For문

예제 포함

package ex1_multi_for;

public class Ex1_multiFor {
	public static void main(String[] args) {

		// 다중for문 : for문안에 for문이 포함되어 있는 경우
		// 1 2 3
		// 1 2 3

		for (int i = 1; i <= 2; i++) { // outer, y(행)

			for (int j = 1; j <= 3; j++) { // inner, x(축)

				System.out.print(j + " ");

			} // inner

			System.out.println(); // 줄바꿈

		} // outer

		System.out.println("====================================");

		// 0 1 2 3 4
		// 0 1 2 3 4
		// 0 1 2 3 4
		// 0 1 2 3 4

		for (int i = 1; i <= 4; i++) {

			for (int j = 0; j <= 4; j++) {

				System.out.print(j + " ");
			}

			System.out.println();
		}

		System.out.println("====================================");

		// 5 4 3
		// 5 4 3
		// 5 4 3

		for (int i = 1; i <= 3; i++) {

			for (int j = 5; j >= 3; j--) {
				System.out.print(j + " ");
			}
			System.out.println();
		}

	}// main
}
package ex1_multi_for;

public class Ex2_multiFor {
	public static void main(String[] args) {

		// 01 02 03 04
		// 05 06 07 08
		// 09 10 11 12

		int num = 0;
		for (int i = 1; i <= 3; i++) {

			for (int j = 1; j <= 4; j++) {
				num++;
				System.out.printf("%02d ", num);
			}
			System.out.println();
		}

		System.out.println("==============================");

		int a = 0;
		for (int i = 1; i <= 3; i++) {

			for (int j = 1; j <= 4; j++) {
				System.out.printf("%02d ", ++a);
			}
			System.out.println();
		}

		System.out.println("==============================");

		// A B C D
		// E F G H
		// I J K L

		char ap = 'A';

		for (int i = 1; i <= 3; i++) {

			for (char j = 0; j <= 3; j++) {
				System.out.printf("%c ", ap++);
			}
			System.out.println();
		}

	}// main
}
package ex1_multi_for;

public class Ex3_multiFor {

	public static void main(String[] args) {

		// 아래와 같이 홀수 라인에만 *을 출력하는 2중 for문을 완성
		// * * * * *
		// 1 2 3 4 5
		// * * * * *
		// 1 2 3 4 5
		// * * * * *

		for (int i = 1; i <= 5; i++) {

			for (int j = 1; j <= 5; j++) {

				if (i % 2 == 1) {

					System.out.print("* ");

				} else {

					System.out.print(j + " ");
				}
			}
			
			System.out.println();
		}

	}// main
}
package ex1_multi_for;

public class Ex4_multiFor {
	public static void main(String[] args) {

		// 01 02 03 04 05
		// 02 04 06 08 10
		// 03 06 09 12 15
		// 04 08 12 16 20
		// 05 10 15 20 25

		
		for (int i = 1; i <= 5; i++) {
		
			for (int j = 1; j <= 5; j++) {

				System.out.printf("%02d ", i * j);
			}

			System.out.println();
		}

		
		System.out.println("===================================");

		
		//*
		//* *
		//* * *
		//* * * *
		//* * * * *

		for (int i = 1; i <= 5; i++) {
	
			for (int j = 0; j < i; j++) {
				
				System.out.print("* ");
				
			}
			
			System.out.println();
		}
		
		
	}// main
}

 

2.break

package ex2_break;

public class Ex1_break {
	public static void main(String[] args) {

		// break : 반복문 내에서 강제적으로 가장 가까운 반복문을 빠져나가는 키워드

		for (int i = 1; i <= 2; i++) {

			for (int j = 1; j <= 10; j++) {

				if (j % 2 == 0) {
					break;
					//break 바로 아래쪽에는 어떠한 코드도 동작할 수 없다.
				}

				System.out.print(j + " ");

			} // inner

			System.out.println();
		} // outer

	}// main
}
package ex2_break;

public class Ex2_break {
	public static void main(String[] args) {

		for (int i = 1; i < 5; i--) {

			if (i < 0) {
				break;
			}

			System.out.println(i);

		} // for

		System.out.println("======================");

		// ↓break 예외적 경우. 반복문 안에서 switch문에서 break가 사용되면 switch문만을 탈출하는 용도로 사용
		for (int i = 0; i < 10; i++) {

			switch (i) {
			case 0:
				System.out.println("i am 0");
				break;
				
			case 1:
				System.out.println("i am 1");
				break;

			case 2:
				System.out.println("i am 2");
				break;

			}// switch

		} // for


	}// main
}
package ex2_break;

public class Ex3_break {
	public static void main(String[] args) {
	
		//1부터 10까지 반복하는 for문에서 5를 초과하는 첫번째 값을 출력하고 for문을 종료
		
		for (int i = 0; i <= 10; i++) {
			if( i > 5) {
				System.out.println(i);
				break;
			}
		}
		
		
	}//main
	
}
package ex2_break;

import java.util.Scanner;

public class Ex4_break {
	public static void main(String[] args) {
		
		//변수 n을 정수를 입력받아
		//1부터 n까지의 합을 구하되, 합이 20을 넘어가면 반복을 종료
		
		Scanner scn = new Scanner(System.in);
		
		System.out.print("정수를 하나 입력하세요 : ");
		int n = scn.nextInt();
		int sum = 0;
		
		for (int i = 1; i <= n; i++) {
			sum += i;
			if ( sum > 20 ) {
				System.out.println("합이 20을 넘어 종료합니다.");
				break;
			}//if
			
		}//for
		System.out.println(sum);
					
		
	}//main
}

 

예제1. for문을 사용한 구구단

package ex3_work;

public class Ex1_multiFor_gugudan {
	public static void main(String[] args) {
		
		//2중 for 문을 사용하여 2~9단까지를 모두 출력
		//----------------------------------
		// 2 X 1 = 2	3 X 1 = 3 ...... 9 X 1 = 9
		// .......................................
		// 2 X 9 = 18	3 X 9 = 27 ..... 9 X 9 = 81
		
		for (int i = 1; i <= 9; i++) {
			
			for (int j = 2; j <= 9; j++) {
				
				System.out.printf("%d X %d = %d	", j, i, i * j);
				
				}

			System.out.println();			
		}
		
		
		
	}//main
}

 

 

예제2. 수열만들기

package ex3_work;

public class Ex2_multiFor_number {
	public static void main(String[] args) {

		// 2중 for문을 사용하여 아래의 결과를 완성하시오.
		// --------------------------------------
		// 1 2 3 4 5 6 7 8 9 10
		// 2 3 4 5 6 7 8 9 10 1
		// 3 4 5 6 7 8 9 10 1 2
		// ....................
		// 10 1 2 3 4 5 6 7 8 9

		for (int i = 0; i < 10; i++) {
			for (int j = 1; j <= 10; j++) {

				if (i + j > 10) {
					System.out.print((i + j) - 10 + " ");

				} else {
					System.out.print(j + i + " ");
				}

			} // inner
			System.out.println();
		} // outer
		System.out.println("====================================");

		//teacher code
		for (int i = 1; i <= 10; i++) {
			for (int j = 0; j < 10; j++) {

				int num = i + j;
				if ( num > 10) {
					num -= 10;
				}
				
				System.out.print( num + " ");

			} // inner
			System.out.println();
		} // outer
		
	}// main
}

 

예제3. 별트리 만들기

package ex3_work;

public class Ex3_mutilFor_star {
	public static void main(String[] args) {
		
		//2중 for문을 가지고 아래의 결과를 완성하시오.
		
		//        *          //414
		//		* * *        //333
		//	  * * * * *      //252
		//  * * * * * * *    //171
		//* * * * * * * * *  //090
	
		for(int i = 5; i >= 1; i--) {
			
			for(int j = 0; j <= 10; j++) {
				if (j >= i && j <= 10 - i) {
					System.out.print("*");
				} else {
					System.out.print(" ");
				}
										
			}//inner
			
			System.out.println();
			
		}//outer
		System.out.println("=======================");
		
		//teacher code
		
		for(int i = 0; i < 5; i++) {
			
			for ( int j = 0; j < 5 + i; j++) {
				
				if (i + j  > 3) {
				System.out.print("* ");
				} else {
				System.out.print("  ");
				}
			}//inner
			System.out.println();
		
			
		}//outer	
			
		System.out.println("=======================");
		
		for(int i = 1; i <= 9; i += 2) {
			
			for(int j = 9; j > i; j -= 2) {
			System.out.print(" ");
			}//inner
			
			for(int j = 0; j < i; j++) {
			System.out.print("*");
			}
			System.out.println();
		}//outer
		System.out.println("=======================");
		
		//거꾸로
		
		for(int i = 0; i <= 5; i++) {
			
			for(int j = 0; j <= 10; j++) {
				if (j >= i && j <= 10 - i) {
					System.out.print("*");
				} else {
					System.out.print(" ");
				}
										
			}//inner
			
			System.out.println();
			
		}//outer
		System.out.println("=======================");
		//다이아몬드 모양
		for(int i = 0; i < 5; i++) {
			
			for ( int j = 0; j < 5 + i; j++) {
				
				if (i + j  > 3) {
				System.out.print("* ");
				} else {
				System.out.print("  ");
				}
				

				
			}//inner
			System.out.println();
		}//outer
			
		for(int i = 3; i >= 0; i--) { 
			for (int j = 0; j < 5 + i; j++) {
					
				if (i + j > 3 ) {
					System.out.print("* ");
						
					} else {
					System.out.print("  ");
					}
					
					
				}//inner
			System.out.println();
		}//outer
				
		
		
	}//main
}

 

예제4. For문, SWAP을 이용해서 피보나치수열 만들기

package ex_work;

import java.util.Scanner;

public class Ex_work {
	public static void main(String[] args) {
		
		System.out.print("정수하나를 입력하세요 : ");
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		int n1 = 0;
		int n2 = 1;

		System.out.print(n1+" "+n2); //피보나치수열 1,2번째에서는 특별한 규칙을 적용할 수 없어서 먼저 숫자 2개 출력
		
		System.out.print(n1 + " " + n2);
		for (int i = 1; i <= num - 2; ++i ) {
			n3 = n1 + n2;
			System.out.print(" " + n3);
			n1 = n2;
			n2 = n3;
			}
		
		System.out.println();
		
		System.out.println("===================");
		// teacher code
		int num1 = 1;
		int num2 = 0;
		int num3 = 0;
		
		System.out.println("출력갯수 : ");
		int cnt = sc.nextInt();
		
		for(int i = 0; i < cnt; i++) {
			// swap 코드 ↓
			num2 = num3;
			num3 = num1;
			num1 = num2 + num3;
			System.out.print(num3 + " ");
		}


	}//main
}

'develop > JAVA' 카테고리의 다른 글

JAVA study 06  (0) 2024.03.05
JAVA study 05  (0) 2024.03.05
JAVA study 03  (1) 2024.03.05
JAVA study 02  (0) 2024.03.05
JAVA study 01  (4) 2024.03.05