选择结构&循环结构总结

发布时间 2023-12-28 20:44:33作者: ZWJAS

总结

选择结构

概念:
选择结构就是让程序有选择的执行,满足条件就执行,不满足就不执行。根据判断的结果来控制程序的流程,是属于流程控制语句。其它两个流程控制语句是顺序结构(程序的执行是从左到右,从上到下)、循环结构(程序重复的干一件事)。
作用:
让程序有选择的执行。例如:用户登录的时候,只有用户名和密码都输入正确才能登录成功等。

  • 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语句
    }
    

    注意事项:

    1. 判断条件: 布尔类型的值或者表达式

    2. if单条件语句

      执行语句:当条件满足时执行语句(可以是一条语句,也可以是一组语句)

    3. if ...else双条件语句

      当条件满足时执行if中的语句,不满足则执行else中的语句

    4. if...else if多条件语句

      按照从上到下顺序匹配条件,如果满足条件1,就执行语句1;如果满足条件2,就执行语句如果满足条件3,就执行语句3;

    5. 注意:只会执行一个满足的条件,哪怕下面有其它的满足条件的也不会执行了。所有条件都不满足就执行else语句中代码。

    6. 选择结构是从上到下开始匹配,一旦匹配上一个条件后,整个条件语句就结束了,哪怕后面也能匹配上条件也不会执行了 。

    7. if 和 if else 语句,后面可以不写{},但是不建议,因为不写{} ,只能控制一行代码。

    8. 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;
}

注意事项:

  1. switch中变量支持的数据类型:

    byte/ short / int / char / String(JDK1.7) / 枚举类型(JDK1.5)

  2. 执行流程:

    switch语句优先从case开始匹配,只有case都没有匹配上才匹配default语句,如果匹配上一个case,则会找最近的break,如果没有,则会一直向下执行,就不会匹配了,直到找到break或者到switch语句结束为止 。

  3. 每个case之间顺序可以交换,不影响代码运行。

  4. default不一定放在末尾 在所有case失效的时候就会被执行到。

  5. case中值与 key类型必须一致。

  6. 最后一个break可以省略,但不建议。

  7. 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.条件判断语句