程序的运行顺序:
顺序结构:从程序开始,到程序结束
分支结构:在顺序结构的基础上,根据条件进行选择执行方法
循环结构:在顺序结构的基础上,根据条件进行多次执行相同或相似的方法

分支结构:
根据条件的成立与否,选择执行方向if分支结构,switch分支结构

1、if分支结构

语句1;
if(条件表达式){
    代码块//条件成立时,执行
}
语句2;
    执行逻辑:执行语句1后,遇到if语句,判断条件是否成立
      若成立,执行代码块,若不成立,则不执行if语句中的代码块,
      然后执行语句2

语句1;
if(条件表达式){
    代码块1//条件成立时执行
}else{
    代码块2
}
语句2;
    执行逻辑:执行语句1后,遇到if语句,判断条件是否成立
      若成立,执行代码块1,跳出if语句;
      若不成立,则执行代码块2;
      然后都要执行语句2.

语句1;
if(条件表达式1){
    代码块1
}else if(条件表达式2){
    代码块2
}else{
    代码块3
}
语句2;
    执行逻辑:执行语句1后,遇到if语句,判断条件是否成立
      若条件1成立,执行代码块1,跳出if语句;
      若条件2成立,执行代码块2,跳出if语句;
      若都不成立,则执行代码块3;
      然后都要执行语句2.
但凡有else的,一定执行其中一个,再往下执行;
若没有else,if语句里面的代码块,可能不执行.

2、switch-case分支结构:

格式:
    switch(整数表达式){
    case value1:
        代码块1;
        break;
    case value2:
        代码块2;
        break;
    .......
    default:代码块n;//可以不写default
    }
整数表达式:即,能获得一个整数的表达式
    jdk1.7后的版本,支持字符串表达式
case后的值,与()内的值得类型要一致
break:有打断,跳出,结束的意思

执行逻辑:
运行到switch语句,计算表达式的值,匹配case后的值
若匹配,则执行对应的代码块;
若遇到break,就结束switch语句;
没有遇到break,则继续往下执行;
default类似于if语句中的else;