java基础知识点总结 第四章

1.选择语句-Switch语句
 结构:switch(int或String类型的字面值或变量){//int或String类型的字面值或变量,和下面
 case 里的int或String类型的字面值或变量进行匹配,若都匹配不上则进行default
          case int或String类型的字面值或变量;
        java语句;
        java语句;
        ...
        break;//终止
      case int或String类型的字面值或变量;
        java语句;
        java语句;
        ...
        break;
      ...
      default;
        java语句;
        ...

 }
 执行原理:Switch后面小括号当中的数据和case后面的数据进行一一匹配,匹配成功的
 分支执行,按照自上而下的顺序依次执行,若分支中没有break语句的话,直接进入下一个
 分支执行不进行匹配,这种现象称为case穿透现象
 若所有分支都没有匹配成功,当有default的话,会执行default分支当中的程序
 Switch后面和case后面只能是int和String类型,当然byte,short,char也可以直接写到
 switch和case后面,因为他们可以自动进行类型转换,byte,short,char可以自动转换成int
 类型。     JDK6的switch和case后面只能是int类型
            JDK7之后的包括7,引入新特性,switch和case关键字之后可以探测int和String类型
        的数据。
case可以合并
int i=10;
switch(i){
 case 1:case 2:case 3:case 10:
    System.out.printIn("Test Code");
}
例子:
//完整的switch语句
    //接受用户的输入
    //1 表示星期一
    //2 表示星期二
    ...
    //7 表示星期日

public class SwitchTest01{
  public static void main(Sring[] args){
    java.util.Scanner s=new java.util.Scanner(System.in);
     System.out.printIn("请输入数字:");
     int num= s.nextInt();
     switch(num){
       case 1:
         System.out.printIn("星期一");
     break;
       case 2:
         System.out.printIn("星期二");
     break;
       case 3:
         System.out.printIn("星期三");
     break;
       case 4:
         System.out.printIn("星期四");
     break;
       case 5:
         System.out.printIn("星期五");
     break;
       case 6:
         System.out.printIn("星期六");
     break;
       case 7:
         System.out.printIn("星期日");
     break;
       default:
         System.out.printIn("对不起您输入的数字非法");
     }
  }
}
switch(int类型、String类型) int类型:case 1: String类型:case "星期一": 
char类型:case 'A':
例:实现计算器当中的+、-、*、/...
public class SwitchTest04{
 publlic static void main(String[] args){
    java.util.Scanner s=new java.util.Scanner(System.in);
    System.out.printIn("欢迎使用本系统:");
    System.out.print("请输入第一个数字:");
    int num1 =s.nextInt();
    System.out.print("请输入一个运算符:");
    String operator =s.next();
    System.out.print("请输入第二个数字:");
    int num2 =s.nextInt();
    int result =0;
    switch(operator){
     case "+":
       result=num1+num2;
       break;
     case "-":
       result=num1-num2;
       break;
     case "*":
       result=num1*num2;
       break;
     case "/":
       result=num1/num2;
       break;
     case "%":
       result=num1%num2;
       break;
     defult:
       System.out.printIn("该系统不支持这种运算");
    }

    System.out.printIn("运算结果为:" + num1 + operator + num2 + "=" +result);
 }
}
例:假设给考生成绩,判断考生成绩等级,采用switch语句完成,不能使用if
 成绩有效范围【0-100】
 考试成绩可能带有小数
 成绩和等级对照:
  [90-100] A
  [80-90]  B
  [70-80]  C
  [60-70]  D
  [0-60]   E
public class SwitchTest04{
 publlic static void main(String[] args){
   //考生成绩
   double score =90.5;
   //转换成int类型
   int grade =(int)(score/10);

   switch(grade){
       case 9:case 10:
         System.out.printIn("A");
     break;
       case 8:
         System.out.printIn("B");
     break;
       case 7:
         System.out.printIn("C");
       case 6:
         System.out.printIn("D");
     break;
       default:
         System.out.printIn("E");
   }
 }
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵俺第一专栏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值