Day 9 (23.01.05)

Jane·2023년 1월 5일
0

IT 수업 정리

목록 보기
9/124

1. 반복문 (2)

1-1. do ~ while 문

  • do {실행} while (조건)
public class DoWhile {

	public static void main(String[] args) {
		int num = 0;
		do {
			System.out.println("I like Java" + num);
			num++;
		} while (num < 5);
	}
}

[Console]
I like Java0
I like Java1
I like Java2
I like Java3
I like Java4

  • while 문은 조건이 맞지 않으면 실행되지 않고 넘길 수도 있지만,
    do~while 문은 최소 1번은 실행한 다음 조건을 따진다.

1-2. for 문

  • for(초기화 ; 조건 ; 증감식) { 실행문 }
  • 초기화를 시킨다 - 반복 (조건 확인 - 실행 - 증감)
public class ForTest {

	public static void main(String[] args) {

		for (int i = 0; i < 5; i++) {
			System.out.println("I love Java " + i);
		}
	}

}

[Console]
I love Java 0
I love Java 1
I love Java 2
I love Java 3
I love Java 4

2. for문 예제

2-1. for 문으로 1~100까지의 합

public class ForAdd {

	public static void main(String[] args) {

		int sum = 0;
		for (int i = 1; i <= 100; i++) {
			sum += i;
		}
		System.out.println(sum);
	}

}

2-2. for 문으로 구구단 9단

public class ForGugudan9 {

	public static void main(String[] args) {
		int a = 9;

		for (int i = 1; i <= 9; i++) {
			System.out.println(a + " * " + i + " = " + (a * i));
		}
	}
    
}

2-3. 카운트다운

	public static void main(String[] args) {

		for (int i = 10; i > 0; i--) {
			System.out.println(i);
		}
	}

2-4. 구구단 7단 거꾸로

public static void main(String[] args) {
		int dan = 7;

		for (int i = 9; i >= 1; i--) {
			System.out.println(dan + " * " + i + " = " + (dan * i));
		}

	}

[Console]
7 x 9 = 63
7 x 8 = 56
7 x 7 = 49
7 x 6 = 42
7 x 5 = 35
7 x 4 = 28
7 x 3 = 21
7 x 2 = 14
7 x 1 = 7

  • 짝수만
int dan = 7;

		for (int i = 9; i >= 1; i--) {
			int result = dan * i;
			if ((result % 2) == 0) {
				System.out.println(dan + " * " + i + " = " + result);
			}
		}

[Console]
7 x 8 = 56
7 x 6 = 42
7 x 4 = 28
7 x 2 = 14

3. 반복문에서의 break 사용

3-1. break - while문

public class WhileBreak {

	public static void main(String[] args) {
		int num = 1;
		boolean search = false;

		while (num < 100) {
			if (((num % 5) == 0) && ((num % 7) == 0)) {
				search = true;
				break; // 반복문을 빠져나온다.
			}
			num++;
		}

		if (search) { // 최소공배수
			System.out.println("5의 배수이자 7의 배수인 첫 수 : " + num);
		} else {
			System.out.println("해당하는 수가 없습니다");
		}

	}

}

[Console]
5의 배수이자 7의 배수인 첫 수 : 35

3-2. break - for문

public class ForBreak {

	public static void main(String[] args) {

		int num = 0;
		boolean search = false;

		for (int i = 1; i <= 10000; i++) {
			if (((i % 7) == 0) && ((i % 8) == 0)) {
				num = i;
				search = true;
				break;
			}
		}

		if (search) {
			System.out.println("7의 배수이자 8의 배수인 첫 수 : " + num);
		} else {
			System.out.println("값이 없습니다");
		}

	}

}

[Console]
7의 배수이자 8의 배수인 첫 수 : 56

4. 연습문제

4-1. 10번째 알파벳 출력하기

public class TenthAlphabet {

	public static void main(String[] args) {

		int num = 0;
		boolean search = false;

		for (int i = 0; i < 26; i++) {
			if ((char) (i + 65) == 'J') {
				num = i + 65;
				search = true;
				break;
			}
			// System.out.println((char)(i+65));
		}

		if (search) {
			System.out.println("10번째 알파벳 : " + (char)(num));
		} else {
			System.out.println("알파벳이 존재하지 않습니다");
		}

	}

}

[Console]
10번째 알파벳 : J

4-2. 1~100까지 홀수, 짝수의 합

public class AddOddEven {

	public static void main(String[] args) {

		int sum1 = 0;
		int sum2 = 0;

		for (int i = 1; i <= 100; i++) {
			if ((i % 2) == 1) {
				sum1 += i;
			} else {
				sum2 += i;
			}
		}
		System.out.println("1부터 100까지 홀수들의 합 : " + sum1);
		System.out.println("1부터 100까지 짝수들의 합 : " + sum2);
	}

}

[Console]
1부터 100까지 홀수들의 합 : 2500
1부터 100까지 짝수들의 합 : 2550

4-3. 2의 배수이면서 3의 배수인 수(공배수)의 개수 구하기

public class CommonMultiple {

	public static void main(String[] args) {

		int count = 0;

		for (int i = 1; i <= 1000; i++) {
			if (((i % 2) == 0) && ((i % 3) == 0)) {
				// System.out.println(i);
				count++;
			}
		}
		System.out.println("2의 배수이자 3의 배수인 수 : " + count + "개");
	}

}

[Console]
2의 배수이자 3의 배수인 수 : 166개

4-4. 화폐계산

public class Wonsearch {

	public static void main(String[] args) {
		int bill = 126500;
		int temp = bill;
		System.out.println(temp + "원");
	
		int bill_50000 = temp / 50000;
		temp %= 50000;
		System.out.println("5만원권 : " + bill_50000 + "장");
		
		int bill_10000 = temp / 10000;
		temp %= 10000;
		System.out.println("1만원권 : " + bill_10000 + "장");
		
		int bill_5000 = temp / 5000;
		temp %= 5000;
		System.out.println("5천원권 : " + bill_5000 + "장");
		
		int bill_1000 = temp / 1000;
		temp %= 1000;
		System.out.println("1천원권 : " + bill_1000 + "장");
		
		int bill_500 = temp / 500;
		temp %= 500;
		System.out.println("5백원 동전 : " + bill_500 + "개");
		
		int bill_100 = temp / 100;
		temp %= 100;
		System.out.println("1백원 동전 : " + bill_100 + "개");
		
	}

}

[Console]
126500원
5만원권 : 2장
1만원권 : 2장
5천원권 : 1장
1천원권 : 1장
5백원 동전 : 1개
1백원 동전 : 0개


4-5. 화폐계산2

public class WonSearchNew {

	public static void main(String[] args) {
		int bill = 294700;
		int temp = 50000;
		boolean search = false;
		System.out.println(bill + "원");

		for (int i = 0; i < 10; i++) {
			if (bill <= 0) {
				break;
			} // 잔고가 0이면 break

			System.out.println(temp + "원 : " + (bill / temp) + "개");
			// 50000 원 : 2개

			bill -= temp * (bill / temp);

			//System.out.println(bill + "원");
			if (!search) {
				temp /= 5;

				search = true;
			} else {
				temp /= 2;
				search = false;
			}

		}

	}

}

[Console]
294700원
50000원 : 5개
10000원 : 4개
5000원 : 0개
1000원 : 4개
500원 : 1개
100원 : 2개

profile
velog, GitHub, Notion 등에 작업물을 정리하고 있습니다.

0개의 댓글