流程控制语句

03流程控制语句

一、程序的执行流程

1、顺序结构

默认,从上往下,从左往右,一条语句一条语句的执行。

2、选择结构(分支结构)

if语句

switch语句

3、循环结构

for

while

do while

二、选择结构的语句

选择结构,也叫分支结构。

使用场景:

当一件事情,有多种可能发生的情况,但是每次只能发生一种情况。

到底发送哪种情况,根据条件来选择。

1、if语句

(1)单分支

一个条件,一种情况。

语法:

if(boolean条件){

//当条件为true时要执行的语句组。

}

执行流程:

先执行条件;

条件为true,执行语句组,然后结束if。

条件为false,直接结束if。

 

System.out.println("begin---");

       int   week=7;
       if(week==7){
           System.out.println("明天休息");
      }

       System.out.println("end---");

(2)双分支

一个条件,两种情况。

语法:

if(boolean条件){

//当条件为true时要执行的语句组1。

}else{

//当条件为false时要执行的语句组2。

}

执行流程:

先执行条件;

条件为true,执行语句组1,然后结束if。

条件为false,执行语句组2,然后结束if。

 

System.out.println("begin---");

       int   week=2;
       if(week==7){
           System.out.println("明天休息");
      }else{
           System.out.println("继续学习");
      }

       System.out.println("end---");

(3)多分支

n-1个条件,n种情况。

语法:

if(boolean条件1){

//当条件为true时要执行的语句组1。

}else if(条件2){

//当条件2为true时要执行的语句组2。

}else if ....

....

else if(条件n-1){

//当条件n-1为true时要执行的语句组n-1。

}else{

//当以上条件都不成立,执行语句组n。

}

执行流程:

先执行条件1;

条件1为true,执行语句组1,然后结束if。

条件1为false,执行条件2。

条件2为true,执行语句组2,然后结束if。

条件2为false,执行条件3。

.....

条件n-1为true,执行语句组n-1,然后结束if。

条件n-1为false,执行语句组n。

 

System.out.println("begin---");

       int   week=7;

       if(week==1){
           System.out.println("体能课");
      }else if(week==2){
           System.out.println("舞蹈课");
      }else  if(week==3){
           System.out.println("书法课");
      }else  if(week==4){
           System.out.println("美术课");
      }else  if(week==5){
           System.out.println("篮球课");
      }else  if(week==6){
           System.out.println("英语课+舞蹈课+逻辑思维课");
      }else{
           System.out.println("语言课");
      }

       System.out.println("end---");

2、switch语句

(1)语法:

switch(表达式){

case 常量表达式1:

语句组1;

[break;]

case 常量表达式2:

语句组2;

[break;]

。。。

case 常量表达式n-1:

语句组n-1;

[break;]

default:

语句组n;

}

强调:switch表达式只能返回byte、short、char、int、String类型。

(2)执行流程:

先执行switch的表达式;

然后执行第一个case。

如果表达式的结果和常量表达式1相等,那么执行语句组1.

如果表达式的结果和常量表达式1不相等,执行下一个case。

。。。

如果以上都不匹配,执行缺省语句组。

 

System.out.println("begin--");
       Scanner  sc=new Scanner(System.in);
       int  week=sc.nextInt();

       switch (week){
           case   1:
               System.out.println("今天星期一,我要上学");
               break;
           case   2:
               System.out.println("今天星期二,我要打游戏");
               break;
           case   3:
               System.out.println("今天星期三,我要上班");
               break;
           case   4:
               System.out.println("今天星期四,我要考试");
               break;
           case   5:
               System.out.println("今天星期五,我要按摩");
               break;
           case   6:
               System.out.println("今天星期六,我要洗脚");
               break;
           case   7:
               System.out.println("今天星期日,我要钓鱼");
               break;

           default:
               System.out.println("你输的星期不对!!");
      }

       System.out.println("end----");

(3)关于没有break的问题。

break作用:结束switch语句。

如果语句组中没有执行break,那么程序会向下执行下一个语句组,直到遇到break或后面的语句组全部执行完毕,结束switch。

System.out.println("begin--");
       Scanner  sc=new Scanner(System.in);
       int  week=sc.nextInt();

       switch (week){
           case   1:
               System.out.println("今天星期一,我要上学");
               break;
           case   2:
               System.out.println("今天星期二,我要打游戏");
               break;
           case   3:
               System.out.println("今天星期三,我要上班");
               break;
           case   4:
               System.out.println("今天星期四,我要考试");
               //break;
           case   5:
               System.out.println("今天星期五,我要按摩");
               //break;
           case   6:
               System.out.println("今天星期六,我要洗脚");
               //break;
           case   7:
               System.out.println("今天星期日,我要钓鱼");
              // break;

           default:
               System.out.println("你输的星期对!!");
      }

       System.out.println("end----");

(4)switch使用场景:

只能用于条件中的值是可以枚举的时候。

三、循环结构的语句

使用场景:

重复的操作,要执行多遍。

1、for

语法:

for(初始化表达式;boolean条件;迭代语句){

//循环体:定义重复的操作,只需定义一遍。

}

执行流程:

先执行初始化表达式;

然后执行boolean条件;

如果条件为true,执行循环体,然后执行迭代语句;

然后执行boolean条件;

如果条件为true,执行循环体,然后执行迭代语句;

。。。。

直到boolean条件为false,结束for。

 

 System.out.println("begin---");

      for(int i=1;i<=100;i++){
          System.out.println("我再也不迟到了"+i);
      }

      System.out.println("end----");

2、while

语法:

while(boolean条件){

//循环体

}

执行流程:

先执行条件;

条件为true,执行循环体,然后在执行条件。。。。。

一直到条件为false,结束while。

 

System.out.println("begin---");

      int i=1;
      while(i<=100) {
          System.out.println("我再也不迟到了" + i);
          i++;
      }

      System.out.println("end----");

3、do while

语法:

do{

//循环体

}while(boolean条件);

执行流程:

先执行循环体;

然后执行条件,条件为true,在执行循环体,然后在执行条件。。。。。

一直到条件为false,结束do while。

 

注意:do while 至少执行一次。

如果大于0次的情况,(前提:条件和循环体相同)三种循环语句执行的结果是一样的。

System.out.println("begin---");

      int i=1;

      do{
          System.out.println("我再也不迟到了" + i);
          i++;
      }
      while(i<=100);

      System.out.println("end----");


·

上一篇:Java之Scanner扫描流


下一篇:go的多个返回值。。。