十、Java的流程控制(分支选择)

其实也不能说是Java的流程控制,应该说所有的编程语言的流程控制,都包括三类:

1:顺序执行:程序的执行都是从上到下的
2:分支选择 :据条件有选择的去执行某些代码
3:循环: 反复的执行某些代码

顺序执行没什么好说的,先来说说分支选择吧

if

语法:

if(boolean表达式)

执行过程:如果boolean表达式返回true,就执行紧跟在其后的第一条java语句(可以是一个代码块);如果是false,就跳过其后第一条语句,执行后续的语句。

如果想通过一个条件去控制是否执行很多条代码,那么必须将这些代码放到一个代码块中。建议:如果仅仅是一条语句,也建议使用代码块。

注意:不要在小括号的后面添加分号 。分号是一条java 语句。 空语句。

if() else if()

if() else if()是多分支选择
最常见的语法形式:

if(条件){

}else if(条件){

}else {

}
//所有的条件都是互斥的。只会执行其中某一个代码块。后续的全部跳过。

最后的else 是可以不要。
整个多分支选择体系中,else 的数量肯定小于等于 if。和 else 前面的距离它最近的if 配对。

switch()

switch:在英文单词中是开关的意思
最常见的语法形式:

switch(变量or变量表达式){
case 常量1:
    //若干代码

case 常量2:
    //若干代码
break;
case 常量3:
    //若干代码
break;
default:
//若干代码
break;
}

执行的过程:
1:计算switch后的变量或者变量表达式的返回值。
2: 依次和 switch 中的case 后面的常量值进行比较,如果 返回值和case 后的常量值相等,
则执行当前case 中的代码,然后直到遇到break 或者执行到switch代码块的末尾,整个switch语句结束。
3:如果所有的case 都没有匹配成功,如果switch语句中包含default语句,则执行default 中的代码。

注意的内容:

1:switch后面的小括号中的数据类型 : 整数类型(byte,short int char)
jdk1.5 枚举类型 1.7增加了字符串类型
2:case:
case的数量是没有任何的限制。
case 后必须跟常量或者常量表达式。必须保证 switch 后的变量的类型 和 case 后的常量的类型,必须兼容。
所有的case 后的常量的值不能相同。常量后跟 冒号。
每一个case 后都可以跟一个break;但是不是必须要一一对应。不需要有一个case就需要对应一个break.
3:default:可以有也可以没有,根据需求来。

if和switch的选择

switch 有什么局限性: 只能进行等值比较 数值类型也有限制 整数 + 枚举 + 字符串
if :只要是boolean 表达式即可。
所有的switch 都可以使用if else if else 替代。
如果使用等值比较 ,分支比较多 ,可以考虑使用swtich。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容