티스토리 뷰
switch(값){ 변수 , 상수 (논리형, 실수만 아니면 된다)
계산, 메서드 ,"정수"."문자"."문자열"
<-- 표시 switch에 써놓은 값고 case옆에 있는 값을 1:1로 같은지 비교한다
맞아 떨어 지는 값이 있으면 그 case영역을 실행한다
그 이후 break라는 키워드가 없다면 계속 밑에 있는 case를 실행해 나간다
case 값 :
case 값 :
case 값 :
case 값 : break;
case 값 : break;
default : // 일치하는 값이 없거나 break가 없으면 이부분을 실행하게 된다
package switchex;
import javax.swing.JOptionPane;
public class SwitchTest {
public static void main(String[] args) {
int num = Integer.parseInt(JOptionPane.showInputDialog("1~5까지 입력"));
switch(num){
case 1:
System.out.println("1 선택");
case 2:
System.out.println("2 선택");
break;
case 3:
System.out.println("3 선택");
case 4:
System.out.println("4 선택");
break;
case 5:
System.out.println("5 선택");
default:
System.out.println("1~5가 아니군요");
}
}
}
# 계산기 만들기
1. 출력문을 하나로 만들어서 출력해보자!
2. 나눗셈 문제 0으로 나눌 수 없다 를 어떻게 해결할 것이냐? (과제)
package switchex;
import javax.swing.JOptionPane;
public class SwitchTest2 {
public static void main(String[] args) {
//정수 2개 입력
int num1 = Integer.parseInt(JOptionPane.showInputDialog("정수 1입력"));
int num2 = Integer.parseInt(JOptionPane.showInputDialog("정수 2입력"));
String op = JOptionPane.showInputDialog("+ - / * 중 선택");
switch(op){
case "+":
System.out.println(num1+"+"+num2+"="+(num1+num2));
break;
case "-":
System.out.println(num1+"-"+num2+"="+(num1-num2));
break;
case "*":
System.out.println(num1+"*"+num2+"="+(num1*num2));
break;
case "/":
if(num2 !=0){
System.out.println(num1+"*"+num2+"="+(num1/num2));
}else{
System.out.println(" 나눌수 없다 ");
}
break;
default:
System.out.println("연산자 선택이 잘못되었군요");
}
}
}
※ if else <--> switch
int num = 0;
if(num == 1){
}else if(num == 2){
}else if(num == 3){
}
//////////////////////////////////////////////////
switch(num){
case 1: break;
case 2: break;
case 3: break;
}
==> 같은 출력
※ ifelse 와 switch의 차이
< switch >
double num =1.1;
switch((int)num){
//double 사용할수 없다 int로 변환시킴
case 1:
case 2:
case 3: //case 옆에 있는 값은 상수만 써야한다 . 수식도 안됨
}
/////////////////////////////
< if/ ifelse >
if(num>1.0){
//실수(양수)비교가 바로 되는 구나
}else if(num>2.0){
}
# 실습
학점변환기
if/ifelse 문을 switch문으로 바꾸자
if(90<=score ){
grade="A";
}else if(80<=score){
grade="B";
}else if(70<=score){
grade="C";
}else if(60<=score){
grade="D";
}
package switchex;
import javax.swing.JOptionPane;
public class SwitchTest5 {
public static void main(String[] args) {
System.out.println("===학점관리 프로그램====");
int score = Integer.parseInt(JOptionPane.showInputDialog("점수입력"));
if(0<=score && score<=100){
String grade ="F";
int result = (score)/10;
switch(result){
case 10: case 9:
grade="A";
break;
case 8:
grade="B";
break;
case 7:
grade="C";
break;
case 6:
grade="D";
break;
}//switch end
if(!grade.equals("F")){
grade +=(score==100 || score%10>=5?"+":"-");
}//두번째 if end
System.out.println(score+"점"+grade+"입니다");
}else{//첫번째 if end
System.out.println(score+"점수를 확인하세요 ");
}//else end
}
}
'Programing > Java' 카테고리의 다른 글
Java1 - 12. while문 (0) | 2017.04.26 |
---|---|
Java1 - 11. For 문 (0) | 2017.04.26 |
Java1 - 09. ifelse 제어문 (0) | 2017.04.20 |
Java1 - 08. If 제어문 (0) | 2017.04.18 |
Java1 - 07. 연산자 2 (0) | 2017.04.17 |