java流程控制语句结构_Java流程控制语句结构之分支结构

/**

* Java流程控制语句结构(一)

* 流程控制语句结构分为:

* 1、顺序结构:从上到下依次执行

* 2、分支结构:多个分支选择其中一个分支执行

* 3、循环结构:重复执行某些代码

*

* 分支结构:根据条件选择性的执行某些代码

* 1、条件判断:if...else系列

* 2、选择结构:switch...case系列

*

* 1、分支结构:

* 1.1、单分支结构:一个 if 语句包含一个布尔表达式和一条或多条语句。

* 语法格式:

* if(条件表达式){

* 当条件表达式成立(true)时需要执行的语句块;

* }

* 执行过程:条件成立,就执行{}其中的语句块,不成立就不执行。

* 注意:

* (1)if(条件表达式)中的条件表达式的结果必须是boolean类型

* (2)当{}中的语句只有一个语句(简单的语句,也可以是一个复合语句)时,可以省略{},但是我们不建议省略

*

* 1.2、双分支结构:if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行

* 语法格式:

* if(条件表达式){

* 当条件表达式成立(true)时需要执行的语句块1;

* }else{

* 当条件表达式不成立(false)时需要执行的语句块2;

* }

* 执行过程:当条件表达式成立(true)时执行语句块1,否则执行语句块2

* 注意:

* (1)if(条件表达式)中的条件表达式的结果必须是boolean类型

* (2)当{}中的语句只有一个语句(简单的语句,也可以是一个复合语句)时,可以省略{},但是我们不建议省略*

*

* 1.3、多分支结构:if...else if...else 语句

* 语法格式:

* if(条件表达式1){

* 当条件表达式1成立的时候,执行的语句块1;

* }else if(条件表达式2){

* 当条件表达式1不成立,

* 条件表达式2成立的时候,执行的语句块2;

* }else if(条件表达式3){

* 当条件表达式1不成立,

* 条件表达式2也不成立,

* 条件表达式3成立的时候,执行的语句块3;

* }

* ...

* else{

* 当以上所有的条件表达式都不成立,需要执行的语句块n+1;

* }

* 执行过程:

* (1)多个条件顺序往下判断,如果上面有一个条件成立了,下面的条件就不看了

* (2)多个分支也只会执行其中的一个

* 注意:

* (1)每一个条件表达式都必须是boolean值

* (2)当{}中只有一个语句时,也可以省略{},但不建议省略

* (3)当多个条件是“互斥”关系(没有重叠部分),顺序可以随意;

* 当多个条件是“包含”关系(有重叠部分),顺序不能随意,小的在上,大的在下面

* (4)使用 if,else if,else 语句的时候,需要注意下面几点:

* if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。

* if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。

* 一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。

*

* 嵌套的 if…else 语句:

* 使用嵌套的 if…else 语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句

* 语法格式:

* if(布尔表达式 1){

* 如果布尔表达式 1的值为true执行代码

* if(布尔表达式 2){

* 如果布尔表达式 2的值为true执行代码

* }

* }else{

* if(布尔表达式 2){

* 如果布尔表达式 2的值为true执行代码

* }

* }

* 执行过程:

* ​ 当嵌套在if中,就是当外面的if成立时,才会看里面的条件判断;

* ​ 当嵌套在else中,就当外面的else满足时,才会看里面的条件判断;

*

* 2、选择结构

* 2.1、switch case语句:switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

* 语法格式:

* switch(表达式){

* case 常量值1:

* 语句块1;

* 【break;】

* case 常量值2:

* 语句块2;

* 【break;】

* ...

* 【default:

* 语句块n+1;

* 【break;】

* 】

* }

* 执行过程:

*(1)入口

* ①当switch(表达式)的值与case后面的某个常量值匹配,就从这个case进入;

* ②当switch(表达式)的值与case后面的所有常量值都不匹配,寻找default分支进入;

*(2)一旦从“入口”进入switch,就会顺序往下执行,直到遇到“出口”

*(3)出口:

* ①自然出口:遇到了switch的结束

* ②中断出口:遇到了break等

* 注意:

* (1)switch(表达式)的值的类型,只能是:

* 4种基本数据类型(byte,short,int,char,Character,Byte,Short,Integer),两种引用数据类型(枚举enum、String)

* Character, Byte, Short, Integer:分别是char, byte, short, int 在java中实现为对象类型的包装类

* (2)case后面必须是常量值,而且不能重复。

* switch case执行时,一定会先进行匹配,匹配成功返回当前case的值,再根据是否有break,判断是否继续输出,或是跳出判断。

* 如果 case 语句块中没有 break 语句时,JVM 并不会顺序输出每一个 case 对应的返回值,而是继续匹配,匹配不成功则返回默认 case。

* 如果 case 语句块中没有 break 语句时,匹配成功后,从当前 case 开始,后续所有 case 的值都会输出。

*

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值