流程控制

Posted zwcnblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了流程控制相关的知识,希望对你有一定的参考价值。

一、选择结构

  1、if

    1.1、三种结构:

        1. 单条件语句
        if(条件判断语句){条件判断语句布尔类型的值
            条件为true,执行代码块
        }
      2. 双条件语句
        if(条件判断语句){条件判断语句布尔类型的值
            条件为true,执行代码块
        }else{
            条件为false,执行else代码块
        }
      3. 多条件语句
        if(条件判断语句1){条件判断语句布尔类型的值
            条件1为true,执行代码块1
        }else if(条件判断语句2){
            条件2为true,执行代码块2
        }else if(条件判断语句3){
            条件3为true,执行代码块3
        }...else{
            所有条件没有匹配上,会执行else代码块
        }      

    1.2、注意:

      1、if后面的{}可以省略的,没有{}它只管一行代码(不推荐使用)。

    int a=3;
    if (a==1)System.out.println("aaa");
    else if(a==2)System.out.println("bbb");
    else System.out.println("ccc");//打印ccc

      2、一旦选择结构匹配了条件,执行完后,整个选择结构就结束了。

      3、else{}可以不写,需要的时候写即可。

  2、switch

    结构:

  switch(变量){
     case 值1:
      功能语句1;
    break;
    case 值2:
      功能语句2;
    break;
    case 值3:
      功能语句3;
    break;
    default:
      功能语句default;
    break;
  }                                

    注意:

     1、从匹配上的代码开始执行,直到找到最近的break,跳出整个switch语句

     2、 变量:可以有的类型  byte、short、char、int、enum(枚举,java5开始支持的)、String(java7开始支持的

     3、条件语句的选择:switch一般用来变量固定的情况。如 VIP、段位、星期、月份等其它的情况一般用if 或  if else,switch能做到的  if语句都能做到

      

二、循环结构

  1、while

    结构:

  ①初始化条件
    while(②条件判断语句){如果满足条件就执行循环
        ③循环体
        ④循环控制语句
    }

 

  2、do while

    结构:

  ①初始化条件
    do{先干一次,再判断条件,如果满足再继续干,不满足就不干了
       ③循环体
       ④循环控制语句
    }while(②条件判断语句);

 

  3、for

    结构:

  for(①初始化条件;②条件判断语句;④循环控制语句){
    ③循环体
  }
       执行流程:
        第1次:①②③④
        第2次:②③④
        第3次:②③④
        ...
        最后一次:②

  4、双层for循环

     双层for循环:只不过外层循环的循环体是for循环而已,外层循环执行一次,内层循环执行所有次外层循环负责行的输出,内层循环负责每一行中列的输出。

  5、注意

    1、场景选择:如果知道循环次数用while循环,知道次数用for循环

    2、三个关键字的使用:(以下三个关键字后面,不能紧跟任何代码,因为永远不执行)    

        break:表示结束当前层的循环 (可以使用锚点,直接跳到锚点位置)
        continue:表示跳过当前次的循环,继续进行下一次循环
        return:表示结束当前方法



以上是关于流程控制的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

PHP中的流程控制

在导航控制器中杀死片段

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段

Android 逆向整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )(代码片段