2020.12.22——java流程控制—结构

JAVA流程控制

顺序结构

  • java的基本机构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行

  • 顺序结构是最简答的算法结构

  • 语句与语句之间,框与框之间是按照从上到下顺序执行的,它是由若干个处理步骤组成的,它是任何一个算法都离不开的基本算法结构

image-20201208112958746

选择结构

  • if单选择结构

    • 判断一个东西是否可行,然后再执行,可以在这样一个程序中用if来表示

    • 语法

      if(布尔值表达式){
         //如果布尔表达式结果为true,将执行的语句      
      }

      img

  • if双选择结构

    • 在if的基础上,增加false所执行的操作,即有两个判断,就使用if-else 结构

    • 语法

      if(布尔表达式){
        //如果布尔表达式的值为true
      }else{
        //如果布尔表达式的值为false
      }

      img

  • if多选择结构

    • if后面可以跟else if — else 语句,用于应对多种可能的情况

    • 需要注意,if语句最多只能有一个else语句,且处于最后,可以有多个else if ,但必须在else语句之前,一旦一直else if 检测为true,则其他语句不执行了

    • 语法

      if(布尔表达式 1){
        //如果布尔表达式 1的值为true执行代码
      }else if(布尔表达式 2){
        //如果布尔表达式 2的值为true执行代码
      }else if(布尔表达式 3){
        //如果布尔表达式 3的值为true执行代码
      }else {
        //如果以上布尔表达式都不为true执行代码
      }
  • 嵌套的if结构

    • 即你可以在if-else里再次使用if-else,但为了代码可读性和简洁,尽量少用嵌套结构

    • 语法

      if(布尔表达式 1){
        ////如果布尔表达式 1的值为true执行代码
        if(布尔表达式 2){
           ////如果布尔表达式 2的值为true执行代码
        }
      }
  • switch多选择结构

    • 多选结构还有一个实现方式就是switch-case语句

    • switch-case语句判断一个变量与一系列值中的某个值是否相等,每个值为一个分支

    • switch语句中的变量类型可以是:

      • byte,short,int,char

      • 从java se7开始,支持字符串string

      • 同时case标签必须为字符串常量或字面量

      switch(expression){
         case value :
            //语句
            break; //可选
         case value :
            //语句
            break; //可选
         //你可以有任意数量的case语句
         default : //可选
            //语句
      }

循环结构

  • while循环

    • while是最基本的循环,它的结构为:

      while( 布尔表达式 ) {
       //循环内容
      }
    • 只要表达式为true,循环就会一直执行下去

    • 大多数情况需要循环停止下来,需要一个让表达式失效的方式来结束循坏

    • 少数情况需要循环一直进行,比如服务器监听等

    • 循环条件一直为true会造成无限循环(死循环),正常编程中应该尽量避免死循环,会影响程序性能或造成卡死崩溃

              int i = 0;
             int t = 0;
             while (i < 100) {
                 i++;
                 t = t + i;
            }
             System.out.println(t);//结果:5050,即1+2+3+...+99+100=5050
  • do-while循环

    • 对于while而言,如果不满足条件则不能进入循环,但有时候我们需要既是不满足条件也至少执行一次

    • do...while和while相似,不同的是do...while至少会执行一次循环

      do {
            //代码语句
      }while(布尔表达式);
    • while和do...while的区别在于,while先判断后执行,do...while先执行后判断

      	  int x = 10;
       
            do{
               System.out.print("value of x : " + x );
               x++;
               System.out.print("\n");
            }while( x < 20 );
  • for循环

    • 虽然所有循环结构都可以用 while 或者 do...while表示,但 Java 提供了另一种语句 —— for 循环,使一些循环结构变得更加简单

    • for循环语句是支持迭代的一种通用结构,是最有效,灵活的循环结构

    • for循环的执行次数是在执行前就确定的

      		for (int i = 1; i <= 9; i++)//外循环控制行
              {
                  for (int j = 1; j <= i; j++)//内循环控制列
                  {
                      System.out.print(i + "*" + j + "=" + i * j + "\t");//输出结果
                  }
                  System.out.println("\n");//换行
              }
      		//99乘法表
  • 增加for循环

    • Java5 引入了一种主要用于数组的增强型 for 循环

    • 暂时做个了解,数组的时候再重点使用

      for(声明语句 : 表达式)
      {
         //代码句子
      }
    • 新声明的局部变量必须和数组中元素类型相同,作用于限定在循环中

              int [] numbers = {10, 20, 30, 40, 50};

          for(int x : numbers ){
              System.out.print( x );
              System.out.print(",");
              }
  • break

    • break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块

    • break 跳出最里层的循环,并且继续执行该循环下面的语句

    • break 跳出循环后不再执行循环内剩下的语句

            int [] numbers = {10, 20, 30, 40, 50};

           for(int x : numbers ) {
              // x 等于 30 时跳出循环
              if( x == 30 ) {
                 break;
              }
              System.out.print( x );
              System.out.print("\n");
          }
  • continu

    • 在循环中continu终止本次循环,跳过还未执行的语句,接着进行下次是否执行的判断

    • continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代

    • 在 for 循环中,continue 语句使程序立即跳转到更新语句

    • 在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句

            int [] numbers = {10, 20, 30, 40, 50};

           for(int x : numbers ) {
              if( x == 30 ) {
             continue;
              }
              System.out.print( x );
              System.out.print("\n");
          }
  • goto

    • 是java的保留字,但是并没有在语言中正式使用

posted @ 2020-12-22 13:46  叶不孤  阅读(89)  评论(0编辑  收藏  举报