总结
选择结构
概念:
选择结构就是让程序有选择的执行,满足条件就执行,不满足就不执行。根据判断的结果来控制程序的流程,是属于流程控制语句。其它两个流程控制语句是顺序结构(程序的执行是从左到右,从上到下)、循环结构(程序重复的干一件事)。
作用:
让程序有选择的执行。例如:用户登录的时候,只有用户名和密码都输入正确才能登录成功等。
-
if选择结构
基本语法:
if单条件语句 if(判断条件) { 语句; } if ...else双条件语句 if(判断条件) { if语句; } else { else语句; } if...else if多条件语句 if(判断条件1) { 语句1; } else if(判断条件2) { 语句2; } else if(判断条件3) { 语句3; } ... else { else语句 }
注意事项:
-
判断条件: 布尔类型的值或者表达式
-
if单条件语句
执行语句:当条件满足时执行语句(可以是一条语句,也可以是一组语句)
-
if ...else双条件语句
当条件满足时执行if中的语句,不满足则执行else中的语句
-
if...else if多条件语句
按照从上到下顺序匹配条件,如果满足条件1,就执行语句1;如果满足条件2,就执行语句如果满足条件3,就执行语句3;
-
注意:只会执行一个满足的条件,哪怕下面有其它的满足条件的也不会执行了。所有条件都不满足就执行else语句中代码。
-
选择结构是从上到下开始匹配,一旦匹配上一个条件后,整个条件语句就结束了,哪怕后面也能匹配上条件也不会执行了 。
-
if 和 if else 语句,后面可以不写{},但是不建议,因为不写{} ,只能控制一行代码。
-
if(){} else if(){}后可以不写 else,一般根据业务需求决定。
-
-
switch 选择结构
switch中变量支持的数据类型:
byte/ short / int / char / String(JDK1.7) / 枚举类型(JDK1.5)
switch基本语法
声明变量
switch(变量){
case 值1:
功能语句1
功能语句2...
break;
case 值2:
功能语句1
功能语句2...
break;
case 值3:
功能语句1
功能语句2...
break;
default:// 相当于条件语句中else,所有的case匹配不上执行default
default语句
break;
}
注意事项:
-
switch中变量支持的数据类型:
byte/ short / int / char / String(JDK1.7) / 枚举类型(JDK1.5)
-
执行流程:
switch语句优先从case开始匹配,只有case都没有匹配上才匹配default语句,如果匹配上一个case,则会找最近的break,如果没有,则会一直向下执行,就不会匹配了,直到找到break或者到switch语句结束为止 。
-
每个case之间顺序可以交换,不影响代码运行。
-
default不一定放在末尾 在所有case失效的时候就会被执行到。
-
case中值与 key类型必须一致。
-
最后一个break可以省略,但不建议。
-
break可以省略,但会导致后续case条件判断失效,按照从上到下顺序执行,直到找到第一个break跳出switch结构,如果没有找则执行到末尾后结束switch结构。
switch使用场景
只有比较固定的情况下,使用switch结构,其他情况一律用if语句。
switch不适应区间条件,只适用于一些条件比较固定的场景。例如:vip、星座、QQ状态、 月份、礼拜、生肖、季节...
循环结构
概念:
定义:循环结构是指在程序中需要重复执行某个功能的一种结构,是一种常见的控制流程。
循环结构需要有一个结束条件,否则会形成死循环,导致内存溢出。
作用
循环结构可以复用代码。
-
while循环
特点:先判断,如果满足条件再循环。
基本语法:
1.初始化条件(根据条件判断是否要写) while(2.循环条件判断){ 3.循环体(重复干的事) 4.循环控制(根据条件判断是否要写) }
循环条件判断:布尔类型的值或者表达式。
循环体:当循环条件为true时执行循环体,当为false时终止循环,不执行循环体
执行流程:
第1次:1. 初始化条件语句 => 2.条件判断语句 => 3. 循环体 => 4. 循环控制语句
第2次:2.条件判断语句 => 3. 循环体 => 4. 循环控制语句
第3次:2.条件判断语句 => 3. 循环体 => 4. 循环控制语句...
最后1次: 2.条件判断语句 -
do...while循环
特点:先执行一次循环体,然后再判断,如果满足条件再循环,只会预执行一次。
一般用在扫雷、获取连接数据库、远程控制、坦克大战、打飞机游戏等场景。基本语法:
1.初始化条件(根据条件判断是否要写) do { 3.循环体(重复干的事) 4.循环控制(根据条件判断是否要写) } while (2.条件判断);// 注意分号
循环条件判断:布尔类型的值或者表达式。
循环体:当循环条件为true时执行循环体,当为false时终止循环,不执行循环体。
执行流程:
第1次:1. 初始化条件语句 => 3. 循环体 => 4. 循环控制语句
第2次:2.条件判断语句 => 3. 循环体 => 4. 循环控制语句
第3次:2.条件判断语句 => 3. 循环体 => 4. 循环控制语句
...
最后1次: 2.条件判断语句