티스토리 뷰

Programing/Java

Java1 - 10. Switch

HNNN 2017. 4. 21. 23:09



   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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
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 31
글 보관함