流程控制

来源:互联网 发布:mysql null的逻辑 编辑:程序博客网 时间:2024/06/05 20:09
重点:
  • 选择结构 
  • 循环结构
难点:
  • 多分支if语句 
  • 多重循环语句

1.1认识流程控制结构
在Java中,有3种流程结构:顺序结构、选择结构、循环结构顺序结构
  1. 顺序结构。是指程序从上向下依次执行每条语句的结构,中间没有任何的判断语句和跳转。
  2. 选择结构。选择结构是根据条件判断的结果来选择执行不同的代码。选择结构可以细分为单分支结构,双分支结构和多分支结构。在Java中提供了if控制语句、switch语句来实现选择结构。
  3. 循环结构。循环结构是根据条件来重复性地执行某段代码。在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. 执行该程序,将输出"1 2 3",结果中竟然没有输出for循环下的输出"循环结束。"的语句。
  2. 当i=4时满足条件,执行retrun语句,结束了当前循环,还结束了整个方法的执行。

总结:
  • 程序流程控制结构包括顺序结构、选择结构和循环结构,由这3种基本结构组成的算法可以解决任何复杂的问题。
  • 顺序结构是指程序从上向下依次执行每条语句的结构,中间没有任何判断和跳转。
  • 选择结构是根据条件判断的结果来执行不同的代码。在Java中提供了if控制语句、switch语句来实现选择结构。
  • 循环结构是指根据条件来重复性地执行某段代码。在Java中提供了while语句、do-while语句、for语句等来实现循环结构。
  • 跳转语句中,break语句和continue语句用来实现循环结构的跳转,提供了return语句来跳出方法。