Java/Java icia 2일차

조건문 switch_case, default 예제

swkn 2023. 2. 22. 17:06

조건문 if , switch인데 대부분 if문을 쓴다. 

if문은 범위가 설정가능한데 switch문은 불가하기 때문

 

int a = 2;

String aa = "1"; // String값은 ""

 

switch(aa) {

case "1" :

system.out.println("1입니다");

break;  // case 후에는 항상 break가 들어간다

case "2" :

system.out.println("2입니다");

break;

case "3" :

system.out.println("3입니다");

break;

default :

system.out.println(:1~3까지 입력해주세요")

 

스위치 값에 따라 case가 결정되고 그것에 따른 프린트가 출력됨.

그 외에 값은 default로 출력됨.

 

문제 ) if문으로 만들었던 계산기를 switch문으로 만들기

Scanner sc = new Scanner(System.in);//계산기를 switch로 만들기

System.out.print("첫번째 숫자를 입력해주세요");

int num1 = sc.nextInt();

System.out.print("두번째 숫자를 입력해주세요");

int num2 = sc.nextInt();

System.out.print("1.더하기 2.빼기 3.곱하기 4.나누기 5.나머지 를 선택해주세요");

int menu = sc.nextInt();

switch (menu) {

case 1:

System.out.println(num1 + " + " + num2 + " = " + (num1+num2));//System.out.printf(%d + %d = %d" , num1, num2, (num1+num2));

break; //%뒤에 오는 순서대로 입력됨

case 2:

System.out.println(num1 + " - " + num2 + " = " + (num1-num2));

break;

case 3:

System.out.println(num1 + " * " + num2 + " = " + (num1*num2));

break;

case 4:

System.out.println(num1 + " / " + num2 + " = " + (num1/num2));

break;

case 5:

System.out.println(num1 + " % " + num2 + " = " + (num1%num2));

break;

default:

System.out.println("1~5중에 선택해주세요");

위로 표현할 수도 있지만 printf(%d + %d = %d,num1,num2,(num1+num2)로 사용할 수도 있다.

%앞에 오는 d를 뒤 num1 num2 (num1+num2)로 대체하겠다는 뜻

 

문제)원하는 달을 쳤을때 switch와 case, break를 이용해서 답 나오게 만들기

 

Scanner sc = new Scanner(System.in);

System.out.print("월을 입력해주세요");

int num = sc.nextInt();

switch (num) {

case 1:

System.out.println("January입니다");

break;

case 2:

System.out.println("February입니다");

break;

case 3:

System.out.println("March입니다");

break;

case 4:

System.out.println("April입니다");

break;

case 5:

System.out.println("May입니다");

break;

case 6:

System.out.println("June입니다");

break;

case 7:

System.out.println("July입니다");

break;

case 8:

System.out.println("August입니다");

break;

case 9:

System.out.println("September입니다");

break;

case 10:

System.out.println("October입니다");

break;

case 11:

System.out.println("November입니다");

break;

case 12:

System.out.println("December입니다");

break;

default:

System.out.println("그런달은 없습니다");