一、顺序结构
顺序结构的程序自上而下逐行执行,一条语句执行完之后继续执行下一条语句,一直到程序的末尾。
顺序结构在程序设计中是最常使用到的结构,在程序中扮演了非常重要的角色,因为大部分的程序基本上都是依照这种由上而下的流程来设计的。
二、分支结构
分支结构是根据条件成立与否,即条件表达式的真和假来决定要执行的程序流程。分支结构提供了一种控制机制,使得程序可以跳过某些语句,而转去执行特定的语句。Java 语言中,实现分支结构的语句有if、 if-else 和switch语句。
1、if 语句
(1)if 语句个数如下
if(布尔表达式){
语句;
}
若布尔表达式的值为true,则执行“语句”。if语句中的“语句”可以是用分号结尾的一个简单语句,也可以是个复合语句。注意: if语句中的布尔表达式是一个只能取真(true) 或假(false) 两个值的表达式。(如图)
(2) if-else 语句:
if (布尔表达式)
{
若干语句
}else{
若干语句
}
若表达式的值为true,则执行语句1,否则执行语句2。
(3)多分支if-else语句
if (布尔表达式1){
语句1;
}
else if(布尔表达式2){
语句2;
}
…
else{
语句n;
}
执行一个多分支的if-else语句时,首先会从最上面开始逐个地对布尔表达式进行测试。找到第一个为真的布尔表达式时,就执行跟在结果为真的布尔表达式后面的语句。如果前面n-1个布尔表达式的值均为假,则执行elee后面的语句n。具体的执行流程如图所示。
2、switch条件语句
switch(表达式)
{
case 常量表达式1:语句1;break;
case:常量表达式2:语句2;break;
...
case:常量表达式n: 语句n;break;
default:语句n+1;
}
switch语句以一个关键字switch 开头,后面跟着一个包含在圆括号中的表达式,这个表达式被称为控制表达式。控制表达式的下面是一系列包含在花括号中的case,每个case都由关键字case及后面的一个常量、一个冒号以及一系列语句组成,这一系列语句就是case要执行的动作。case 后面的常量表达式被称为case标记。执行switch语句时,先计算出控制表达式的值。然后依次与case后面的常量表达式进行匹配,直到找到一个与控制表达式匹配的case标记,并执行与该标记相关的动作。在switch语句中,不能使用重复的case标记,那样会造成模棱两可的局面。如果没有找到匹配的标记,就执行标记为default的分支。default分支是可选的,如果没有default分支,又找不到任何与之匹配的case标记,就不会执行任何动作。
注意:
(1)swich语句中的每个case分支的动作都是以break语句作为结束的,这里的break语句用来终止switch语句。如果没有break 语句,程序会继续执行下一个case分支中的动作,直到碰到一条break语句,或抵达了switch 语句的末尾为止
(2) switch 语句中的控制表达式必须是char、int、 short 或byte类型的。case后面的常量表达式的类型必须与控制表达式的类型相同。