• 选择结构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可以省略,但是建议不要省略,可以对范围外的错误值提示 
    下面看例子1:
    import java.util.Scanner;
    public class Su{
        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:

    import java.util.Scanner;
    public class TextScanner{
        public static void main(String[] args){
            Scanner scanner = new Scanner(System.in);
            String str = scanner.nextLine();
            int a = Integer.parseInt( str );
            if(a >= 90){
                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等");
            }    
            scanner.close();
        }
    }

    注意:两个例子同为输出成绩,但是第一个例子可以在命令窗口直接输入命令查询;而第二个例子得一次一次的输入命令查询,注意区别

    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.Scanner;
    public class Su{
        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);     //键盘输入
            while(true){                             //死循环,方便测试
                System.out.println("请您输入要转换的星期数");  //键盘录入提示
                int week = sc.nextInt();                //键盘输入用int类型接受
                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都能做,单反过来则不行
  • 相关阅读:
    ASP.NET缓存页面
    SQL2005没有服务端开启程序
    Cookie创建以及清除Cookie数组
    http 错误编号大全(转)
    .net 控件库名称
    window.location.hash属性介绍
    CSS半透明滤镜在FIREFOX和IE下面的能够通用的写法
    兼容性问题
    Js获取窗体大小
    springcloud 微服务分布式 flowable 工作流 前后分离vue.js 集成代码生成器 shiro权限
  • 原文地址:https://www.cnblogs.com/sutao/p/7163593.html
Copyright © 2020-2023  润新知