程序流程控制

Posted fangfangfanga

tags:

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

顺序结构

  程序从上到下逐行地执行,中间没有任何判断和跳转。

技术图片

 

 

 

分支语句

  1、if-else语句

  if语句的三种格式

  if语句第一种格式:(适合一种判断)

  技术图片

 

if(关系表达式) {

语句体;

}

  首先判断关系表达式看其结果是true还是false:如果是true就执行语句体;如果是false就不执行语句体。

技术图片

 

 

2、if语句第二种格式:(适合两种判断)

if(关系表达式) {

语句体1;

}else {

语句体2;

}

  首先判断关系表达式看其结果是true还是false:如果是true就执行语句体1;如果是false就执行语句体2。

技术图片

 

 三元运算符,它根据比较判断后,给出的也是两个结果,所以,这种情况和if语句的第二种格式很相似,他们在某些情况下应该是可以相互转换的。

3、if语句第三种格式:(适合多种判断)

if语句第三种格式:
if(关系表达式1) {
             语句体1;
    }else  if (关系表达式2) {
             语句体2;
    }
    ...
    ...
    else {
             语句体n+1;
    }

  技术图片

 

 需要注意的是,所有的语句体中,只执行一个。

三、选择结构的switch语句:

  switch语句格式

switch(表达式) {
          case 值1:
            语句体1;
            break;
            case 值2:
            语句体2;
            break;
            ...
            ...
            default:    
            语句体n+1;
            break;
} 

  switch表示这是switch语句

  表达式的取值:byte,short,int,char(JDK5以后可以是枚举,JDK7以后可以是String)(这句话可能出面试题)

  case后面跟的是要和表达式进行比较的值

  语句体部分可以是一条或多条语句

  break表示中断,结束的意思,可以结束switch语句

  default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。

技术图片

 

 

(1)case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的

(2)default可以省略吗?

可以省略。一般不建议。除非判断的值是固定的(也就是说所有可能的情况都已经列在case中了)

(3)break可以省略吗?

可以省略,一般不建议。否则结果可能不是你想要的,会出现一个现象:case穿透。

(4)default的位置一定要在最后吗?

可以出现在switch语句任意位置。

(5)switch语句的结束条件:

  • 情况a:遇到break就结束,而不是遇到default就结束。
  • 情况b:执行到程序的末尾就结束

2、if和switch各自使用的场景:

在做判断的时候,我们有两种选择,if语句和switch语句,那么,我们到底该如何选择使用那种语句呢?

if语句使用场景:

  • 针对结果是boolean类型的判断
  • 针对一个范围的判断
  • 针对几个常量值的判断

switch语句使用场景:

  • 针对几个常量值的判断,常量的值符合byte、short、int、char这四种类型,使用switch效率会更高。

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

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

通过导航组件在底部导航片段之间传递数据

PHP中的流程控制

线程

在导航控制器中杀死片段

JavaScript流程控制