[Day 03] Java 0330 - 내용 정리

Doyeon Kim·2022년 3월 30일
1

Java

목록 보기
5/16
post-thumbnail

🌞switch문

  • 항에는 변수가 올 수 있고, 변수를 이용한 수식이 올 수 있다.
switch() {
	case1:
    	명령어;
    ...
    case 값n:
    	명령어;
    default: //case에 해당하지 않는 것들은 모두 default에서 처리
    	명령어;

🌞반복문

  • 특정 명령어(들)을 조건을 만족할 동안 계속해서 반복 실행 시키고자 하는 문장
  • for, while, do~while문

🌞for문

  • 반복 실행시킬 명령어가 한 개 밖에 없으면 중괄호를 생략할 수 있다.
  • 그러나, 반복시킬 명령어가 2개 이상이면 반드시 중괄호로 묶어줘야 한다.
for(초기값; 최종 조건식; 증감식;) {
	반복 실행 시킬 명령어()
}

🌞중첩반복문

  • 반복문 안에 또 다른 반복문이 올 수 있다.
for(int i=1; i<=3; i++) {
	for(int j=1; j<=4; j++) {
    	명령어;
   	}
}
  • 위의 반복문에서는 명령어가 총 12번 동작됨.

🌞예제

🌟(switch문) 예제1🌟

사용자에게 월을 입력받아 그 월에 해당하는 계절명을 출력하는 프로그램을 switch ~ case 문을 사용하여 작성

import java.util.Scanner;

public class SwitchPractice05 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int m;
		
		System.out.print("월을 입력하세요: ");
		m = sc.nextInt();
		
		switch (m) {
		case 3,4,5: System.out.println(m + "월은 봄입니다."); break;
		case 6,7,8: System.out.println(m + "월은 여름입니다."); break;
		case 9,10,11: System.out.println(m + "월은 가을입니다."); break;
		case 12,1,2: System.out.println(m + "월은 겨울입니다."); break;
		default: System.out.println("범위를 벗어났습니다.");
		}
	}

}

🌟(switch문) 예제2🌟

사용자에게 월을 입력받아 각 월에 마지막 날을 출력하는 프로그램을 작성
ex) 월을 입력하세요: 3
3월은 31일까지 있어요.

import java.util.Scanner;

public class SwitchPractice08 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int m, date = 31;
		//30: 4, 6, 9, 11
		//31: 1, 3, 5, 7, 8, 10, 12
		//28: 2
		
		System.out.print("월을 입력하세요: ");
		m = sc.nextInt();
		
		if (m < 1 || m > 12) {
			System.out.println("입력 범위를 넘었습니다.");
			return;
		}
		switch (m) {
		case 2: date = 28;
		case 4,6,9,11: date = 30;
		} System.out.println(m + "월은 " + date + "일 까지 있어요!");
	}

}

🌟(for문) 예제2🌟

중첩반복문을 이용하여 다음과 같이 동작하는 프로그램을 만들어보자.

줄 수를 입력하세요: 3
칸 수를 입력하세요: 5

*****
*****
*****
import java.util.Scanner;

public class ForPractice09 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int a,b;
		
		System.out.print("줄 수를 입력하세요: ");
		a = sc.nextInt();
		System.out.print("칸 수를 입력하세요: ");
		b = sc.nextInt();
		
		for(int i=0; i<a; i++) {
			for(int j=0; j<b; j++) {
				System.out.print("*");
			}
			System.out.println("");
		}

	}

}

🌞연습문제

👑연습문제1👑

1부터 100 사이의 정수 중에서 3 또는 4의 배수의 합을 계산하는 프로그램

public class Practice04 {

	public static void main(String[] args) {
		int sum = 0;
		for(int i=1; i<=100; i++) { //1부터 100까지 숫자
			if(i % 3 == 0 || i % 4 == 0) { //3의 배수 또는 4의 배수
				sum += i; // 배수들의 합
			}
		}
		System.out.println("3 또는 4의 배수의 합: " + sum);

	}

}

👑연습문제2👑

2개의 주사위를 던지는 게임이 있다고 가정하자. 2개의 주사위의 합이 6이 되는 경우는 몇 가지나 있을까? 합이 6이 되는 경우의 수를 출력하는 프로그램을 작성해보자.

public class Practice05 {

	public static void main(String[] args) {
		
		for(int i=1; i<=6; i++) { //첫 번째 주사위 굴리기
			for (int j=1; j<=6; j++) { //두 번째 주사위 굴리기
				if(i+j==6) { //첫 번째 주사위 + 두 번째 주사위의 합이 6
					System.out.print("(" + i + "," + j + ")");
					
				} 
			} 
		}

	}

}

👑연습문제3👑

1차방정식 3x+10y=100을 만족하는 모든 해를 구하는 프로그램을 작성해보자. 여기서 x와 y는 정수이고 0<=x<=10, 0<=y<=10이라고 가정하자.

package day0330;

public class Practice06 {

	public static void main(String[] args) {
		int x, y;
		
		for(x=0; x<=10; x++) { //x의 값 0~10까지
			for(y=0; y<=10; y++) { //y의 값 0~10까지
				if(3 * x + 10 * y == 100) { //3x+10y=100을 만족할 때
					System.out.println("(" + x + "," + y + ")");
				}
			}
		}

	}

}
profile
꾸준히 성장하는 개발자✨

0개의 댓글

관련 채용 정보