重点:
- 选择结构
- 循环结构
难点:
- 多分支if语句
- 多重循环语句
1.1认识流程控制结构
在Java中,有3种流程结构:
顺序结构、选择结构、循环结构
顺序结构。
- 顺序结构。是指程序从上向下依次执行每条语句的结构,中间没有任何的判断语句和跳转。
- 选择结构。选择结构是根据条件判断的结果来选择执行不同的代码。选择结构可以细分为单分支结构,双分支结构和多分支结构。在Java中提供了if控制语句、switch语句来实现选择结构。
- 循环结构。循环结构是根据条件来重复性地执行某段代码。在Java中提供了while语句、do-while语句、for语句来实现循环结构。JDK5.0中新提供了增强for循环,可以以简单的方式来遍历数组和集合。
1.2使用Java的选择结构完成程序分支处理
Java中提供了
if控制语句、switch语句,来实现选择结构
1.2.1 if控制语句
if控制语句有3种不同的形式,分别是
单分支结构、双分支结构和多分支结构。
(1)使用if语句实现单分支处理
语法:
if(表达式){
语句;
}
(2)使用if-else语句实现双分支处理
语法:
if(表达式){
语句1;
}else{
语句2;
}
(3)使用多分支if语句实现多分支处理
语法:
if(表达式1){
语句1;
}else if(表达式2){
语句2;
}else{
语句3;
}
- 无论多分支if语句中有多少个条件表达式,只会执行一个。如果没有符合条件的,则执行else子句中的语句。
1.2.2嵌套if控制语句
在if控制语句中
又包含一个或多个if控制语句称为嵌套if控制语句。
语法:
if(表达式1){
if(表达式2){
语句1;
}else{
语句2;
}
}else{
if(表达式3){
语句3;
}else{
语句4;
}
}
1.2.3switch语句
Java中还提供了switch语句,用于实现多分支选择结构。它和多分支if控制语句结构在某些情况下可以相互代替。
语法:
switch(表达式){
case 常量1:
语句;
break;
case 常量2:
语句;
break;
……
default:
语句;
break;
}
- 如果case后没有break语句,程序将继续向下执行,直到遇到break语句或switch语句结束。
2.1使用循环结构完成重复操作
Java中的循环控制语句有
while循环、do-while循环和for循环等。
2.1.1while循环
语法:
变量初始化;
while(循环条件){
循环体;
修改初始化的值;
}
- while语句先判断循环条件再执行循环体,如果第一次判断循环条件为假,循环将一次也不执行。
2.1.2do-while循环
语法:
变量初始化;
do{
循环体;
修改初始化的值;
}while(循环条件);
- 以分号结尾,不能省略。
- 先执行循环体再判断循环条件,至少执行一次。
2.1.3for循环
语句:
for(变量初始化;循环条件;修改循环变量的值){
循环体;
}
2.1.4多重循环
一个循环语句的循环体中还可以再包含循环语句,又称嵌套循环。循环语句内可以嵌套多层循环。同时,不同的循环语句可以相互嵌套。
语法:
while(循环条件1){
循环语句1;
for(循环条件2){
循环语句2;
}
}
- 该二重循环的执行过程是,外层while循环每循环一次,内层for循环就从头到尾完整地执行一遍。
- 在解决问题时,对于循环次数确定的情况,通常选用for循环。对于循环次数不确定的情况,通常选用while循环和do-while循环。
2.2使用跳转语句控制程序流程
Java语言支持3种类型的跳转语句
:break语句、continue语句和return语句。使用这些语句,可以把控制转移到循环甚至程序的其他部分。
2.2.1break语句
break语句在循环中的作用是终止当前循环,在switch语句中的作用是终止switch。break语句只会出现在switch和循环语句中,没有其他的使用场合。
- Java中判断两个字符串是否相等时,用equals()方法判断值是否相等;用"=="判断内存地址是否相等。
2.2.2continue语句
continue语句的作用是强制一个循环提前返回,也就是让循环跳过本次循环剩余代码,然后开始下一次循环。continue语句只会出现在循环语句中,它只有这一种使用场合。
在while和do-while循环中,continue执行完毕后,程序将直接判断循环条件,如果为true,继续下一次循环,否则,终止循环。而在for循环中,continue使程序先跳转到循环变量计算部分,然后再判断循环条件。
2.2.3return语句
return语句的作用是结束当前方法的执行并退出,返回调用该方法的语句处。
例:
public static viod main(String[] args){
for(int i=1;i=<10;i++){
if(i%4==0){
return;
}
System.out.print(i+"");
}
System.out.println("循环结束");
}
- 执行该程序,将输出"1 2 3",结果中竟然没有输出for循环下的输出"循环结束。"的语句。
- 当i=4时满足条件,执行retrun语句,结束了当前循环,还结束了整个方法的执行。
总结:
- 程序流程控制结构包括顺序结构、选择结构和循环结构,由这3种基本结构组成的算法可以解决任何复杂的问题。
- 顺序结构是指程序从上向下依次执行每条语句的结构,中间没有任何判断和跳转。
- 选择结构是根据条件判断的结果来执行不同的代码。在Java中提供了if控制语句、switch语句来实现选择结构。
- 循环结构是指根据条件来重复性地执行某段代码。在Java中提供了while语句、do-while语句、for语句等来实现循环结构。
- 跳转语句中,break语句和continue语句用来实现循环结构的跳转,提供了return语句来跳出方法。