在前述文章中我们介绍了变量、数据类型、运算符以及表达式这些都是在编程语言中必不可少的组成元素,那么我们的程序逻辑是如何去实现的呢?这就用到了我们在接下来的文章中介绍到的三种基本结构:顺序结构,分支结构,循环结构。
顺序结构相对容易理解,我们不在介绍,这篇文章主要介绍一下分支结构。
什么是分支结构
程序可以在循环过程中,根据不同的条件运行不同的语句。
-当条件满足时运行某些语句;当条件不满足时则不运行这些语句——if结构
-当条件满足时运行某些语句,当条件不满足时运行另一些语句——if...else结构
if语句
if语句的执行逻辑
如下图所示,当条件满足时,执行语句块,然后执行if语句下面的语句,否则跳过语句块,直接执行if语句下面的语句。
如上图所示,if语句用于处理分支结构:
如果商品总价大于等于500,打8折
......
double totalPrice=......;
if ( totalPricel>=500){
totaPrice =totalPrice*0.8
}
......
当if语句块中只有一条语句时“{}”可以省略,但当将来代码发生变更时很容易产生错误,因此即便只有一条语句,也不要省略“{}”。
if-else语句
if-else语句的执行逻辑:
1、执行语句0;
2、判断if逻辑表达式的值:
若值为true,则执行语句块1;
若值为false,则执行语句块2;
3执行语句3;
if-else语句流程图:
else-if语句(if-else语句的嵌套):
当程序的分支结构大于2时,可以用if-else嵌套的方式解决,即:else语句块中又包含if语句(或if-else语句)。流程图如下(以判断分数等级为例):
事实上,else if结构就是if-else嵌套的简便写法:
switch-case语句执行逻辑
switch-case语句是一种特殊的分支结构,可以根据一个整数表达式的不同取值,从不同的程序入口开始执行。switch-case流程图如下:
switch-case和break的联合使用。
通常case1、case2、...caseN对应完全不同的操作,可以喝break语句配合使用,执行完相应语句后即退出switch块,不继续执行下面的语句。
switch-case的优势:
-switch-case常常和break语句结合使用实现分支的功能。
-switch-case在实现分支功能时和if-else的主要区别在于switch-case结构的效率要高,结构更清晰。
-从JDK7.0开始,switch-case支持字符串的表达式。
今天的文章中介绍了分支结构中的if语句、if-else(else-if)语句以及switch-case语句。在程序逻辑中还用到了循环结构,在下一篇文章中,将介绍循环结构的知识点。希望大家在阅读的过程中不吝赐教,发现问题欢迎在评论中提出您的宝贵意见,让我们共同进步。