if语句和switch语句的区别

1.选择结构if语句格式及其使用 

A:if语句的格式:

  if(比较表达式1) {
     语句体1;
  }else if(比较表达式2) {
     语句体2;
  }else if(比较表达式3) {
     语句体3;
  }
     ...
  else {
    语句体n+1;
  }
B:执行流程:
  首先计算比较表达式1看其返回值是true还是false,
  如果是true,就执行语句体1,if语句结束。
  如果是false,接着计算比较表达式2看其返回值是true还是false,
  如果是true,就执行语句体2,if语句结束。
  如果是false,接着计算比较表达式3看其返回值是true还是false,
  如果都是false,就执行语句体n+1。
C:注意事项:最后一个else可以省略,但是建议不要省略,可以对范围外的错误值提示 
import java.util.Scanner;
class Demo_If {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);   //键盘输入,
        while(true) {
        System.out.println("请您输入成绩");    //提示输入
        int a = sc.nextInt();                    //键盘输入用int类型接收
        if (a>100|a<0) {                        //死循环,方便测试
            System.out.println("您输入的成绩有误");
        }else if (a>=90&a<=100) {
            System.out.println("A等");
        }else if (a>=80&a<90) {
            System.out.println("B等");
        }else if (a>=70&a<80) {
            System.out.println("C等");
        }else if (a>=60&a<70) {
            System.out.println("D等");
        }else if (a<60) {
            System.out.println("E等");
        }else {
            System.out.println("您输入的成绩有误");
        }
        }
}
}
2.选择结构switch语句格式及其使用
A: switch格式:
  switch(表达式) {
        case 值1:
      语句体1;
      break;
       case 值2:
      语句体2;
      break;
          …
       default:
      语句体n+1;
      break;
        }
 
B:switch语句的格式解释
  (基本数据类型,只要能提升为int的都可以,引用数据类型中的枚举(JDK1.5)和String(JDK1.7))
C:执行流程
   先计算表达式的值
  然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句
import java.util.*;
class  Dome_If3{
    public static void main(String[] args) {
        //System.out.println("Hello World!");
        Scanner sc =new Scanner(System.in);        //键盘录入
        while(true) {                                //死循环方便测试
        System.out.println("请您    输入要转换的星期数");  //键盘录入提示
        in week = sc.nextInt();
        switch(week) {
            case 1:
                System.out.println("星期1");
            break;
            case 2:
                System.out.println("星期2");
            break;
            case 3:
                System.out.println("星期3");
            break;
            case 4:
                System.out.println("星期4");
            break;
            case 5:
                System.out.println("星期5");
            break;
            case 6:
                System.out.println("星期6");
            break;
            case 7:
                System.out.println("星期天");
            break;
            default:
                System.out.println("您输入的数字有误,请重新输入");
        }
      }
    }
}
3:总结switch语句和if语句的各自使用场景
  switch建议判断固定值的时候用
   if建议判断区间或范围的时候用    
  *用switch能做的,用if都能做,单反过来则不行

猜你喜欢

转载自www.cnblogs.com/qq1312583369/p/10879036.html