流程控制
Posted 菜鸡蔡文姬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了流程控制相关的知识,希望对你有一定的参考价值。
一、单分支
if(条件表达式){ 操作1; }
表示如果条件表达式成立,就执行操作1;如果条件表达式不成立,就不执行里面的操作1,也就是什么也不会发生。
二、双分支
if(条件表达式){ 操作1; }else{ 操作2; }
表示如果条件表达式成立就执行操作1,否则执行操作2
三、多分支
1.if-else类型
if(条件表达式1){ 操作1; } else If(条件表达式2){ 操作2; }else{ 操作3; }
2.switch类型
Switch(变量){ Case 常量1://当变量等于常量1的时候执行以下操作,如果不等于,就往下判断 操作1; Break; //执行完操作1就跳出该switch语句,不再往下判断 Case 常量2://当变量等于常量2的时候执行以下操作,如果不等于,就往下判断 操作2; Break; Case 常量3://同理 操作3; Break; Default://如果都不等于,就执行以下操作,此句不写也可以,相当于if没有else 操作4; Break; }
例如:
int a=4; switch (a) { case 1: System.out.println("a=1"); break; case 2: System.out.println("a=2"); break; case 3: System.out.println("a=3"); break; case 4: System.out.println("a=4"); break; default: System.out.println("a不等于1,2,3,4里任何一个"); break; }
注意switch判断的东西和case里的东西都不能放条件表达式,要放变量
四、循环
For循环:
①
for(int i=1;i<5;i++){ //循环的变量是i,i初始等于1,当i<5时执行以下操作,执行完以下操作后执行(i++) System.out.println(“i=”+i); }
②
int i=0; for(i;;i++){ //循环的变量是i,执行以下操作,执行完以下操作后执行(i++) System.out.println(“i=”+i); }
While循环:
①
int a=4; while(a>1){ //当a>1的时候执行以下操作,当不满足a>1的时候就跳出循环 System.out.println("a="+a); a--; }
②
int a=4; do { //当a>1的时候执行以下操作,当不满足a>1的时候就跳出循环 System.out.println(“a=”+a); A--; } while (a>1);
效果上两个循环是一样的,区别就是如果第一次判断就为假,while就不会执行操作了,而do-while还会执行一次操作。
Break与continue:
Break表示跳出循环,continue表示此次不执行操作,去下一次循环。
例:
for(int i=0;i<10;i++){ if(i==4) break; else { System.out.println("i="+i); } }
这将会输出
i=0
i=1
i=2
i=3
而
for(int i=0;i<10;i++){ if(i==4) continue; else { System.out.println("i="+i); } }
将会输出
i=0
i=1
i=2
i=3
i=5
i=6
i=7
i=8
i=9
Break和continue在while循环中也是一样的。
以上是关于流程控制的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程
Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段
Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段
Android 逆向整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )(代码片段