程序的三种流程
顺序结构
顺序结构,顾名思义就是从头一直执行到尾顺序不会改变
选择结构
选择结构有单分支、双分支和多分支
常用if、if else、 switch语句来进行选择
单分支选择结构
单个if语句就是一个单分支的选择结构
// 例1
int a = 0, b = 1;
if(a > b){
a--;
}
例1的代码就是一个简单的单分支选择结构,如果a > b,执行花括号里的语句,如果a不大于b,就不执行花括号里的语句,而是向下执行。
双分支选择结构
双分支选择结构常用if else语句来完成
// 例2
int a = 5, b = 3;
if (a > b){
a++;
} else {
b++;
}
例2的代码就是一个简单的双分支选择结构,若 a > b,执行 a++,若 a < b,执行b++。
多分支选择结构
多分支选择结构常用if else if和switch语句完成
用if else if完成的多分支选择结构 :
// 例3.1 用if(){}else if(){}完成多分支选择结构
int week = 0;
if (week == 0){
System.out.println("Today is Sunday");
} else if(week == 1){
System.out.println("Today is Monday");
} else if(week == 2){
System.out.println("Today is Tuesday");
} else if(week == 3){
System.out.println("Today is Wednesday");
} else if(week == 4){
System.out.println("Today is Thursday");
} else if(week == 5){
System.out.println("Today is Friday");
} else if(week == 6){
System.out.println("Today is Saturday");
} else{
//其他情况;
}
如果还有没有涵盖到的情况,可以在最后加上一个else语句,来涵盖其他情况
用switch语句完成的多分支选择结构:
// 例3.2 用switch case语句完成的多分支选择结构
int week = 0;
switch(week){
case 0:System.out.println("Today is Sunday");break;
case 1:System.out.println("Today is Monday");break;
case 2:System.out.println("Today is Tuesday");break;
case 3:System.out.println("Today is Wednesday");break;
case 4:System.out.println("Today is Thursday");break;
case 5:System.out.println("Today is Friday");break;
case 6:System.out.println("Today is Saturday");break;
default: //其他情况
break;
}
切记,使用switch语句时,除特殊情况,都要记得加break语句,否则switch语句会执行到最后,没有涵盖所有情况的,可以加上default,将其他情况包含进来
switch语句还有另一种用法:
//例3.3 switch语句的另一种用法
int grade = 66;
int rank = 66 / 10;
switch(rank){
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:System.out.println("不及格");break;
case 6:System.out.println("及格");break;
case 7:System.out.println("中等");break;
case 8:System.out.println("良好");break;
case 9:System.out.println("优秀");break;
case 10:System.out.println("满分");break;
}
当多种情况输出一致时,可以省略大部分,只留一个case进行输出,如上述代码所示。
选择结构使用的好的话,会使我们的程序更加灵活,但同时使用不好的话,也会带来一些程序上的缺陷,所以要经常练习,熟练掌握选择结构,让程序更加有趣。
循环结构
循环结构是三大流程中最简单,也是最难的一种
常用的循环语句有三种分别是:
for循环
for循环时初学者经常接触的一种循环结构,构成如下:
for(初始化一个int型变量; 循环条件(循环次数); 变量++或–){
// 循环体
}
我举个例子:计算1~100的和
int sum = 0;
// 定义一个变量i并初始化为0(因为加法中0不影响结果),从零开始加,加到100
// 所以i 小于等于100,当i大于100时,条件不满足,不执行循环体
for(int i = 0; i <= 100; i++){
// 循环体
// 因为i每次循环完都自加1,所以用每次都加i就可以
sum += i;
}
这就是一个简单的for循环
while循环
while循环也是一个比较常见的循环,我也用while循环写1~100的和
int i = 0;
int sum = 0;
// 括号中时条件判断语句,为真,执行循环体
while(i <= 100){
//循环体
sum += i;
//使循环不为死循环
i++;
}
do while循环
do while循环与while循环极为相似,唯一不同点是while循环先判断后执行,do while循环先执行一次后在进行判断,不管条件是否为真,都先执行一次
int i = 0, sum = 0;
do{
sum += i;
}while(i <= 100)
循环结构和选择结构可以互相嵌套,就形成了程序丰富的功能选择,但是要注意,千万别把循环写成死循环,循环嵌套时尽量写上注释,以便于更好的理解代码。