第五章程序控制结构笔记

1、程序控制流程介绍:

在程序中,程序运行的流程控制决定程序是如何执行的是我们必须掌握的,主要有三大流程控制语句。

1⃣️:顺序控制:程序自上而下逐行执行,中间没有任何判断和跳转。

2⃣️:分支控制;

3⃣️:循环控制。

2、分支控制 if-else:让程序有选择的执行,分支控制有三种:

1⃣️:单分支:if(条件表达式){

          执行代码快;//(可以有多条语句)

}

说明:当条件表达式为ture时,就会执行{}的代码。如果false就不执行。特别说明:如果{}中只有一条语句,则可以不用{}。

例题1:

 2⃣️:双分支:当条件表达式成立,即执行代码快1,否则执行代码快2.

if(条件表达式){

             执行代码块1;

}else{

              执行代码快2;

}

例题2

3⃣️:多分支:

if(条件表达式1){

             执行代码块1;

}else if(条件表达式2)

{

              执行代码快2;

}

.....

else{

         执行代码块n;

}

例题三

说明:

1⃣️:条件表达式1成立时,即执行代码块1;

2⃣️:如果表达式1不成立,才去判断表达式2是否成立;

3⃣️:如果表达式2成立,就执行代码块2;

4⃣️:以此类推,如果所有的表达式都不成立则执行else的代码块,注意:只能有一个执行入口。

5⃣️:多分支可以没有else的代码块,如果所有的表达式都不成立则一个执行入口都没有

6⃣️:如果有else,且所有的表达式都不成立,则默认执行else代码块。

3、嵌套分枝:

在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构称为内层分支外面的分支结构称为外层分支。规范:在实际开发中最好不要超过三层。

语法:

if( ){

   If( ){

       //if-else...

       }else{

          //if else

}

}

}

例题四

4、switch分支结构:

基本语法:

switch(表达式){

     case 常量1://当表达式等于常量1的时候,当....时候

     语句块1;break;//break;跳出switch结构

     case 常量2

      语句块2;break;

      .....

     case 常量n:

     语句块n;break;

     default:

     default语句块;break;

}

例题四

 

1⃣️:switch关键字,表示switch分支;

2⃣️:表达式,对应一个值;

3⃣️:case常量1:当表达式的值等于常量1,就执行语句块1

4⃣️:break;表示退出switch;

5⃣️:如果和case常量1匹配,就执行语句块1,如果没有匹配,就继续匹配case常量2

6⃣️:如果一个都没有匹配上,就执行default

7⃣️:穿透:当执行语句块1后有break;语句时程序会跳出switch语句,而没有break;语句时会继续执行语句块2(此时不会判断表达式的值是不是等于case2)以此类推直到出现break;或default语句。

5、switch分支结构细节讨论:

1⃣️:表达式数据类型,应和case后的常量类型一致或者是可以自动转化可以相互比较的类型,比如:输入的是char而常量是int;

2⃣️:switch(表达式)中表达式的返回值必须是(byte,short,int,char,String,enum枚举)类型数据;

3⃣️:case子句中的值必须是常量,而不能是变量;(子句中的值必须时具体值或常量表达式)

4⃣️:default子句是可选的,当没有匹配的case时,执行default;

5⃣️:break语句用来在执行一个case分支后使程序跳出switch语句块,如果没有写break;,程序会执行到switch结尾,除非遇到break;。如果switch语句没有default子句,又没有任何匹配的常量,则没有输出。

6、switch和if的比较:

1⃣️:如果判断的具体数值不多,而且符合byte,short,int,char,enum,String这六种类型。虽然两个语句都可以使用,建议使用switch;

2⃣️:其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广(上下左右,男女,星期,季节,用switch看起来更简洁,判断区间结果时bealoon值用if else会更好)

7、for循环控制:

基本语法:

for(循环变量初始化;循环条件;循环变量迭代){

      循环操作语句;//(可多条,可一条)

}

for循环说明:

1⃣️:for 有四要素:1.循环变量初始化,2.循环条件,3.循环操作,4.循环变量迭代

2⃣️:for关键字,表示循环控制;

3⃣️:循环操作,这里有多条语句,也就是我们需要循环执行的代码。

4⃣️:如果循环操作(语句)只有一条语句,可以省略{}建议不要省略。

例题五:

8、for循环的注意事项和细节:

 1⃣️:循环条件是返回一个布尔值的表达式

for(int i=1;i<=10;i++)

不管循环条件中写的有多复杂返回值一定是bealoon型。

2⃣️:for(;循坏判断条件; )中的初始化和变量迭代可以写到其他地方,但两边的分号不能省略。如果一个变量在for循环结束后继续使用,那么这个变量一定要在for循环之前定义,for循环内定义的变量只能在for循环内定义。

3⃣️:循环初始值可以有多条初始化语句,但要求类型一致,并用逗号隔开;循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开。

9、while循环控制:

循环变量初始化;

while(循环条件){

    循环体(语句);

    循环变量迭代;

}

例题六

​​​​​​​​​​​​​​

说明:

1⃣️:while循环也有四要素;

2⃣️:只是四要素放的位置和for不一样

10、while循环控制注意事项和细节说明:

1⃣️:循环条件是返回一个布尔值的表达式;

2⃣️:while循环是先判断在执行语句。

11、do...while循环控制:

循环变量初始化

do{

   循环体(语句);

   循环变量迭代;

}while(循环条件);

说明:

1⃣️:do...while是关键字;

2⃣️:也有循环四要素,只是位置不一样;

3⃣️先执行,再判断,也就是说,一定会执行一次;

4⃣️:最后有一个分号;

12、do...while循环控制流程:

例题七

 

13、do...while循环控制注意事项细节说明:

1⃣️:循环条件是返回一个布尔值的表达式;

2⃣️:do...while循环是先执行,再判断

例题八

14、多重循环控制(重点!难点!) 

介绍:

1⃣️:将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for,while,do...while均可以作为外层循环和内层循环。【建议一般使用两层,最多不要超过三层,否则,代码的可读性很差】

2⃣️:实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的档次循环,开始下一次的循环;

3⃣️:设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次。(多重循环的循环次数等于所有循环的次数的乘积)。

例题九经典例题打印空心金字塔:

 15、跳转控制语句——continue:

基本介绍:

用于终止某个语句块的执行,一般使用在switch或循环中。

基本语法:

{

......

break;

......

}​​​​​​​

16、break;细节注意事项label标签:

break;语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块。

break;标签解读:

1⃣️:break;语句可以指定退出哪层(后面可以带一个指定标签的名称);

2⃣️:lable1是标签,名字有程序的设计者指定,但要满足标识符的命名规则;

3⃣️:break后指定到哪一个lable就退出哪一个循环;

4⃣️:在实际开发中尽量不要用标签;

5⃣️:如果没有指定break;,则就近退出循环。

例题十

字符串的比较:

String name="小明";

System.out.println(name.equals.("小明"));

System.out.println(name.equals.("小明".equls(name));//【推荐,避免空指针】

17、跳转控制语句——continue:

基本介绍:

1⃣️:continue语句用于结束本次循环,继续执行下一次循环;

2⃣️:continue语句出现在多层嵌套结构中时,可以通过标签指明要跳过哪一层循环,与break;标签使用规则一样。

18、跳转控制语句——return:

return语句的使用方法:

1⃣️:return使用在方法,表示退出所在方法;

2⃣️;return:写在main方法中,则退出程序。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值