zoukankan      html  css  js  c++  java
  • 流程控制语句

    任何编程语言中程序结构通常分为三类:顺序结构,分支结构,循环结构。
      顺序结构: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也可以紧跟一个标签,表示直接跳过该标签标识循环的当次循环的剩下语句,重新开始

                下一次循环。

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

  • 相关阅读:
    Redis学习笔记--Redis数据过期策略详解
    网络带宽和速度测试windows和linux用iperf工具
    如何将rabbitmq集群中的某个节点移除.
    关于linux系统密码策略的设置
    linux 系统ssh超时设置
    linux安全 设置登录失败次数后,拒绝登录
    tomcat隐藏版本号
    第 16 章 模板与泛型编程
    第 15 章 面向对象程序设计
    第 14 章 重载运算与类型转换
  • 原文地址:https://www.cnblogs.com/yumiaoxia/p/8849271.html
Copyright © 2011-2022 走看看