zoukankan      html  css  js  c++  java
  • 第四章

    选择结构(二)

    学习本章会用到的单词:

    case:实例,情形,情况

    switch:转换,切换,开关

    default:系统默认值,违约,预设。缺省

    exit:出口,通道,退出

    consume:消耗,耗费,

    exception:例外,除外,异议


    switch选择结构

                      语法:switch(表达式){

             case 常量 1:

                //代码块1;

                  break;

                     case 常量 2:

                //代码块2;

                break;

                ......    

                                    default:

                                             //代码块n;

                         break;

                              }

    switch结构中四个关键字解释:

    这里是switch,case,default,break,都是Java的关键字。

    》switch:表示:“开关”,这个开关就是switch关键字后面小括号里表达式的值,JDK1.7后,switch语句小括号里可以是int ,short,byte ,char,枚举类型 ,String类型表达式。

    》case:表示“情况,情形”,case后可以是int,short,byte ,char,枚举,String类型,通常是一个固定的值。case块可以有多个,顺序可以改变,但是每个case后常量的值必须各不相同。

    》default:表示默认,即其他情况都不满足。default后要紧跟冒号。default块和case块的先后顺序可以变动,不会影响程序执行的结果。通常,default块放在末尾,也可以省略。

    》 break:表示“停止”,即跳出当前结构。

    switch选择结构的执行具体过程:

    先计算并获得switch后面小括号里的表达式或变量的值,然后将计算结果顺序与每个case后的常量比较,当二者相等时,执行这个case块中的代码;当遇到break时,就跳出switch选择结构。执行switch选择结构之后的代码。如果没有任何一个case后的常量与switch后的小括号中的值相等,则执行switch末尾部分的default块中的代码。

    注意!

    虽然break语句是可以省略的,,但是省略后会带来一些问题。省略之后的后果为,当某个case后的常量值与switch后小括号中的值相匹配时,执行该case块的代码,后面的case就不再进行条件判断,而直接执行后面所有case块中的代码,直到遇到break结束。所以在编写switch选择结构时不要忘记在每个case块后加上一个“break;”,用来跳出switch选择结构。

    每个case后的代码块可以有多个语句,即可以有一组语句。而且不需要用“{ }”括起来。case和default后都有一个冒号,不能漏写,否则编译不能通过。对于每个case的结尾都要想一想是否需要跳出整个switch选择结构。如果需要,一定不要忘记写“break;”。

    小结

    swith选择结构的条件只能是等值的判断,而且只能是整形或字符型的等值判断。也就是说,switch选择结构只能用于判断一个整型变量或表达式是否等于某个整数值的情况,或者一个字符型变量或表达式是否等于某个字符的情况,并且每一个case后面的常量值都不同。多重if选择结构和switch选择结构很相似,它们都是用来处理多分支条件的结构,但是switch选择结构只能用于等值条件判断的情况。

    选择结构总结

    >Java中的if选择结构,包括以下形式。

    基本的if选择结构:可以处理单一或组合条件的情况。

    语法:

    if(条件){

              //代码块

    }

           if-else选择结构:可以处理简单的条件分支情况。这种形式结构简单,但在实际开发中使用非常频繁。

    语法:

    if(条件1){

             //代码块1

    }else{

      //代码块2

    }

    多重if选择结构:可以处理复杂的条件分支情况。多重if选择结构在解决需要判断的条件是连续的区间时有很大的优势。

    语法:

    if(条件1){

        //代码块1

    }else if(条件2){

        //代码块2

    }else{

        //代码块3

    }

    其中,else  if块可以有多个,也可以没有,需要几个else if完全取决于实际需求。else块最多有一个或者没有,else块必须要放在else   if块之后。

    嵌套if选择结构:在if选择结构中又包含一个或多个if选择结构的情况,这种结构一般用于较为复杂的流程控制中。if选择结构嵌套的形式很多,以下形式为基本的结构。

    语法:

    if(条件1){

      if(条件2){

        //代码块1

              }else{

        //代码块2

       }

    }else{

      if(条件3){

        //代码块3

      }else{

        //代码块4

      }

    }

    Java中的switch选择结构。

    当需要多重分支并且条件判断是等值判断的情况下,使用switch选择结构代替多重if选择结构会更简单,代码结构更清晰易读。

    处理系统异常

    》通过调用Scanner对象的hasNextInt()方法,来判断用户从键盘上输入的字符是否合法,如果用户提示输入的是数值,则根据输入的具体数值跳转到相应的菜单,如果用户输入的不是数字,则给出好友提示“请输入正确的数字!”.

    通过判断,并给出用户提示,增加了程序的健壮性,是程序能够较好地处理发生的异常,在后面的学习中将介绍更多处理程序异常的方法。

    本章总结

    》当需要多重分支并且条件判断是等值判断的情况下,使用switch选择结构代替多重if选择结构会更简单,代码更清晰易读。在使用switch选择结构时不要忘记在每个case的最后上写上break语句。

    》为了增加程序的健壮性,可以在程序中主动做出判断,并给用户友好的提示。

    》在实际开发中,遇到分支情况时,通常会综合运用if选择结构的各种形式及switch选择结构来解决。

  • 相关阅读:
    leetcode_357. Count Numbers with Unique Digits
    leetcode_712. Minimum ASCII Delete Sum for Two Strings
    leetcode_865. Smallest Subtree with all the Deepest Nodes
    leetcode_919. Complete Binary Tree Inserter
    leetcode_1014. Capacity To Ship Packages Within D Days
    leetcode_998. Maximum Binary Tree II
    leetcode_654. Maximum Binary Tree
    leetcode_894. All Possible Full Binary Trees
    leetcode_486. Predict the Winner
    二叉树的遍历
  • 原文地址:https://www.cnblogs.com/mrgaoyuan/p/7650718.html
Copyright © 2011-2022 走看看