Java流程控制基本语句无非就三种:顺序,判断和循环。判断即选择,循环重结束。判断语句常见的有两种:一种是以if为首的区间判断语句,而另一种是以switch为主的断点判断语句。顾名思义,一个负责范围输出,一个负责精准打击。

if有三种基本形态:if单分支选择结构,if-else双分支选择结构和if-else if-else多分支选择结构。其中if-else if-else多分支选择结构,条件满足其一,不再向下判断,跳过判断整体,继续执行。好处:节省时间,效率更高。

嵌套if选择结构:大条件套小条件。例:百米赛跑,男生及格进男子组,女生及格进女子组。(代码请参考上篇文章)

switch多值选择结:           //被[ ]括起来的语句可有可无

swith(表达式){

case 值1:

命令语句;

[break];

case值2:

命令语句;

[default:

默认执行语句;]                 //如果代码执行过程中没碰上像什么break,return的命令就//默认执行

}

public class blogs {
public static void main(String[] args) {
         char a ='a';
         switch(a){
             case 'a':
                 System.out.println("It is a");
             default:
                 System.out.println("Over");
         }
     }

 }

执行结果为:

It is a

Over

PS:能用switch语句解决的就能用if语句解决,反之不一定。( if(a.equals(b))为 有内容的a的内容和b的内容比较)

Switch语句中命令一样的case关键字可以像这样摞起来。

public class blogs {
public static void main(String[] args) {
         char a ='a';
         switch(a){
             case 'a':
             case'b':
             case'c':
             case'd':
                 System.out.println("It is "+a);
             default:
                 System.out.println("Over");
         }
     }

 }

几点注意事项:

  1. switch语句会根据表达式的值从匹配的执行,一直执行到break标签处或者是switch语句的末尾。与任一case 值不匹配,则进入default语句(如果有的话)
  2. 只能处理等值条件判断的情况,且表达式必须为byte,short,int或char类型,不能是String或double,float. 1.7之后可以使用String
  3. 常量值必须是与表达式类型兼容的特定的一个常量
  4. 不允许有重复的case值
  5. Default语句为可选语句(可有可无)

比较switch和多重if选择结构

相同点:都是用来处理多分支的结构

不同点:

Switch选择结构只能处理等值条件判断的情况,而且条件必须是整形变量或字符型变量或者字符串(jdk1.7之后)

多重if选择结构没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况