流程控制语句

任何编程语言中程序结构通常分为三类:顺序结构,分支结构,循环结构。
  顺序结构:java中通常是顺序结构,从上往下逐行执行代码,中间没有控制跳转。
  分支结构:java中提供两大类常见的分支控制语句,if语句和swich语句
  循环结构:通常由while语句,do-while语句,for语句

分支结构

if语句:if语句使用布尔表达式值作为分支条件进行分支控制,通常有三种形式

 第一种形式:

if(logic expression){
           stament...
        }

第二种形式:

if(logic expression){
           stament...
        }else{
           stament...
           }

第三种形式:

if(logic expression){
           stament...
        }else if(logic expression2){
           stament...
           }
           ....                       //可以有多个else if语句
           else{                      //最后只有一个else语句
           stament...
           }

      logic expression为逻辑判断的布尔表达式或布尔值,返回true或false,stament...代表代码块。fen当返回true时执行紧跟后面花括号的代码块,false则跳过花括号内的代码块。

     如果if(logic expression),else if(logic expression),else后的代码块只有一条语句时,可以省略花括号,如下:

int a = 3;
        if(a > 4)
           System.out.println("a大于4");
        else if(a==4)
           System.out.println("a等于于4");
          else                   
           System.out.println("a小于4");

swich语句:switch语句有一个控制表达式紧跟多个case标签组成,和if语句不同的是,switch语句的控制表达式的数据类型

                   只能是byte,short,char,int四种整数类型,枚举类型和java.lang.String类型,不能是boolean类型

                  switch语句后面跟着任意有限的case标签,每个case标签紧跟一个代码块,case标签是挡墙代码块的标识,语法格式如下:

switch(expression){
         case condition:{
             stament...
                 break;    //break;可以省略,但会引发一些错误
                 }
         case condition:{
             stament...
                 break;
                 }
         case condition:{
             stament...
                 break;
                 }
          default:
            {
              stament...
          }
        }

switch语句执行先对expression求值,然后把结果匹配case标签的值,如果匹配成功执行相对应case标签后对应的代码块。

         如果没有对应的匹配则执行default的代码块,注意的是default语句,break关键字不是必须的,省略break关键字,程序    会无条件执行后面case标签代码块

循环结构

                 循环语句可以在满足条件表达式的情况下,反复执行某一段代码,当反复执行这段代码的时候,

            在适当的时候达到某个条件,把条件表达式返回false,跳出循环

         循环语句通常有四个部分:

         初始化语句(init-stament):一条或多条语句,用于初始化工作,在循环体开始之前执行

         循环条件(test-expresion):这是一条boolean表达式,其返回结果决定是否执行循环体

         循环体(body-stament): 通过表达式后反复执行的代码块,只有一条语句时,花括号可以省略

         迭代语句(iteration-stament):这个部分在一次循环体结束后执行,通常用于控制循环条件的变量,

                                                          使循环在适当时结束

       提醒应用循环结构的时候,一定要保证循环条件有变为false的时候,否则此循环变为一个死循环,无法结束

while循环语句格式:

                init-stament;
        while(test-expression){
          body-stament...
        iteration-stament
        
        }

do-while循环语句格式

        init-stament;
        do{
          body-stament...
          iteration-stament;
        }while(test-expression);

do-while和while的区别在于do-while先执行循环体,再判断条件表达式,即使test-expression返回false也会

执行一次循环体。do-white语句后面加分号结束

for循环

    for循环语句更加简洁,通常情况下,for循环可以代替while循环和do-while循环,它基本语法格式如下:

for(init-stament;test-expression;iteration-stament){
               body-stament...
        }

      循环体只有一条语句,花括号也可以省略 ,圆括号内分为三部分,每部分都不是必须的,只有两个分号是必须的

声明语句只有一条,但可以初始化多个相同类型的变量,用逗号隔开,例如int a=1,b=3,c=5

      需要指出的是,for循环迭代语句没有跟循环体放在一起,因此结束循环体即使遇到continue语句结束本次循环,

循环迭代语句一样得到执行

控制循环语句

  java中提供了两个关键字控制循环,break和continue

 break:表示结束循环,不仅可以结束所在的循环,还可以使用标签结束其外层循环,标签格式是标签名加英文符号(

public static void main(String[] args) 
 {
  int i=0;
  outer:  
  for(i=1;i<5;i++){
               for(int j=0;j<3;j++){
       if(j==1){
     
        break outer;//跳出标签所在的循环
       }
      }     
  }
  System.out.println("外部循环执行了"+i+"次");
 }

输出:

外部循环执行了1次

continue:忽略本次循环剩下语句,接着开始下一次循环,而break是终止循环

              与break类似的是,continue也可以紧跟一个标签,表示直接跳过该标签标识循环的当次循环的剩下语句,重新开始

            下一次循环。

 最后一点就是,程序结构可以相互嵌套实现很多功能,由于篇幅,这里不再叙述。

原文地址:https://www.cnblogs.com/yumiaoxia/p/8849271.html