引言
在编程语言中,用于控制程序执行顺序,流程控制是逻辑的体现,通过流程控制可以组织多条语句。
表达式: 由运算符和操作数组成的式子(赋值表达式,布尔表达式,算数表达式……..)
语句: 就是编程语言的一句话,以分号 ; 结尾 。
流程控制:有多个语句组成的一段代码。
语句块: { }
在编程语言中,通常有哪些流程控制呢?
顺序 选择 循环 goto跳转(java不支持,严重影响代码的可读性,很多语言都摒弃了他,但是Java依然保留了这个关键字)。
1.顺序结构
1.1概念
顺序流程控制,是一种代码执行的默认顺序,依据代码的编写顺序从上到下,从外到内依次执行。
public static void main(String[] agrs){System.out.println("setp1:打开冰箱门");System.out.println("setp2:大象放冰箱");System.out.println("setp3:关闭冰箱门");}
2.选择结构
2.1单分支IF
2.1.1 语法
if( condition ){需要执行的语句;}// 后续代码
condition 条件表达式 = > boolean 满足执行,不满足不执行
2.1.2 流程图

2.1.3 示例代码
public static void main(String[] args){//大象的体积int v = 12;//最大容量int max = 10;if( v < max ){System.out.println("大象放进冰箱");}}
2.2双分支IF
2.2.1语法
if( condition ){需要执行的语句;}else{条件不满足执行的语句;}
2.2.2流程图
2.2.3示例代码
public static void main(String[] args){int v = 12;int max = 10;if( v <= max ){System.out.println("ok,可以放进去");}else{System.out.println("大象放不下哦");}}
2.3 多分支
2.3.1语法
if( condition1 ){条件1满足 执行的语句;}else if( condition2 ){条件2满足 执行的语句}else if( condition3 ){条件N满足 执行的语句}else{所以条件不满足执行的语句}
2.3.2流程图
2.3.3示例
public static void main(String[] args){int level = 5;if( level <=3 ){System.out.println("青铜");}else if( level <= 6 ){System.out.println("白银");}else if( level <= 9 ){System.out.println("黄金");}else if( level <= 12 ){System.out.println("铂金");}else{System.out.println("最强王者");}}
总结: IF 有3种写法 , 单分支 if(){ } 只关心满足条件的情况
双分支 if(){} else{ } 关心逻辑的两面性,满足做什么,不满足又做什么
多分支 if(){} else if() 区间判断,多情况判断,且这些情况都是 是连续的。
2.4 switch 分支
2.4.1 语法
switch( value ){case 值1 : 语句;case 值2 : 语句;case 值N : 语句;break;default: 语句;}
细节 : switch 支持的数据类型 char, byte, short, int Character Byte Short Integer String(jdk1.7) enum 10种数据类型
如果 case 缺少 break 则发生 case “穿透” 不在判断后续case 值之间执行对于语句 直到 找到break;
2.4.2 流程图
2.4.3 示例代码
public static void main(String[] args){int num = 1;switch( num ){case 5 : System.out.println("亚索");break;case 2 : System.out.println("安琪拉");break;case 3 : System.out.println("王昭君");break;case 4 : System.out.println("黄忠");break;default: System.out.println("啥玩意?");}}
3.循环结构
重复做事情,重复执行某些代码。一般通过三个要素实现控制,1计数器,2循环条件,2计数器变化。
3.1 For 循环
3.1.1 语法
for( 初始化 ; 条件 ; 递增 ){需要执行的语句;}
3.1.2流程图
3.1.3 示例
public static void main(String[] args){for(int i = 0; i < 100; i++){System.out.println(" Good Boy !");}}
3.2 while 循环
3.2.1语法
while( condition ){执行的语句;}
3.2.2流程图

3.2.3示例代码
public static void main(String[] args){int i = 0;while(i<10){System.out.println( "hello boy" );i++;}}
3.3 do-while 循环
3.3.1 语法
do{循环体;}while( condition );
3.3.2 流程图
3.3.3 示例代码
public static void main(String[] args){int i = 0;do{System.out.println( "hello boy" );i++;}while( i<10 );}
3.4 break 与continue
break 和 continue 的作用是控制循环的节奏,当然break 也可以在 switch中使用,作用是结束switch。
- break: 立即终止本层循环
- continue; 跳过本次循环,快速进入下一次循环 ```java public static void main(String[] args) {
for (int age = 0; age <= 100 ; age++ ){if( age == 50 ){break;}System.out.println("小杨今年"+age+"岁了");}System.out.println("呵呵");}
```javapublic static void main(String[] args) {for (int age = 0; age <= 100 ; age++ ){if( age == 50 ){continue;}System.out.println("小明今年"+age+"岁了");}System.out.println("哈哈");}
总结:
for 关注基本明确次数的循环。
while循环通常是关注哪些不太确定次数的循环。
do-while 至少执行一次的循环
break 可以自定义停 比如 a:{
{
}
break a;
}
嵌套循环:for 外层控制行数 内层控制列数
巩固:



