java基础学习(四)

一、程序流程控制介绍:

在程序中,程序运行的流程控制决定程序是如何执行的,主要有 三大流程控制语句:

  • 顺序控制

  • 分支控制

  • 循环控制

1、顺序控制:程序从上到下逐行地执行,中间没有任何判断和跳转

注:java中定义变量时采用合法的向前引用(先定义后使用)

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

  • 单分支

  • 双分支

  • 多分支

单分支基本语法:

if(条件表达式){
​
       执行代码块;(可以有多条语句)
​
}

注:当条件表达式为true时,就会执行{}的代码,如果为false,就不执行

特别说明:如果{}中只有一条语句,{}可以省略,建议写上{},看起来清晰明了

3、双分支基本语法:

if(条件表达式){
​
     执行代码块1;
​
}else{
​
      执行代码块2;
​
}

注:当条件表达式成立,即执行代码块1,否则执行代码块2,如果执行代码块,只有一条语句,则{}可以省略,否则,不能省略

4、多分支基本语法:

if(条件表达式1){
​
     执行代码块1;
​
}else if(条件表达式2){
​
      执行代码块2;
​
}else if(条件表达式3){
​
      执行代码块3;
​
}
​
……
​
else {
​
     执行代码块n;
​
}

注:

  1. 当条件表达式1成立时,即执行代码块1

  2. 如果表达式1不成立,才去判断表达式2是否成立

  3. 如果表达式2成立,就执行代码块2

  4. 以此类推,如果所有的表达式都不成立

  5. 则执行else的代码块,注意,只能有一个执行入口

  6. 多分支可以没有else,如果所有的条件表达式都不成立,则一个执行入口都没有

  7. 如果有else,所有的条件表达式都不成立,则默认执行else代码块

5、嵌套分支:

在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支结构称为内层分支外面的分支结构称为外层分支

switch分支结构基本语法:

switch(表达式){
​
   case 常量1;   //当
​
   语句块1;
​
   break;     //代表结束switch语句,跳出循环
​
   ……
​
   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

6、switch注意事项和细节讨论

  • 表达式数据类型,应和case后的常量类型一致,或者是可以自动转成可以相互比较的类型,比如输入的是字符,而常量是int

  • switch(表达式)中表达式的返回值必须是:(byte,short,int,char,enum枚举,String)

  • case子句中的值必须是常量,而不能是变量

  • default子句是可选的,当没有匹配的case时,执行default

  • break语句用来执行完一个case分支后使程序跳出switch语句块;如果没有写break,程序会顺序执行到switch结尾,直到执行到break

7、switch和if的比较:

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

其他情况,对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广

8、for循环基本语法:

for(循环变量初始化;循环条件;循环变量迭代){
​
循环操作(语句);
​
}

说明:

  1. for关键字,表示循环控制

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

  3. 循环操作,这里可以有多条语句,也就是要循环执行的代码

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

注意事项和细节说明:

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

for(;循环判断条件;)中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略

循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开

for(;;)表示一个无限循环,死循环

9、while循环控制基本语法:

循环变量初始化;

while(循环条件){
​
     循环体(语句);
​
     循环变量迭代;
​
}

说明:while循环也有四要素;只是四要素放的位置,不一样

注意事项和说明:

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

  2. while循环是先判断再执行语句

10、do..while循环控制基本语法:

循环变量初始化;

do{
​
    循环体(语句);
​
    循环变量迭代;
​
}while(循环条件);

说明:

  • do while是关键字

  • 也有循环四要素,只是位置不一样

  • 先执行,再判断,也就是说,一定会执行一次

  • 最后有一个分号;

注意事项和细节说明:

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

11、do while循环是先执行,再判断,因此它至少执行一次

多重循环控制介绍:

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

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

设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次

12、break语句基本介绍:

break语句用于终止某个语句块的执行,一般使用在switch或者循环(for,while,do while)中

基本语法:

{……
​
•    break;
​
•    ……
​
}

跳转控制语句-break注意事项和细节说明:

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

标签的基本使用:

 label1:{……
​
•      label2:      {……
​
•      label3:              {       ……
​
•                                            break label2;
​
•                                    ……
​
•                             }
​
•                      }
​
•           }

注:

  • break语句可以指定退出哪层

  • label1是标签,由程序员指定

  • break后指定到哪个label就退出到哪里

  • 在实际的开发中,尽量不要使用标签

  • 如果没有指定break,默认退出最近的循环体

14、跳转控制语句-continue基本介绍:

continue语句用于结束本次循环,继续执行下一次循环

continue语句出现在多层嵌套的循环语句体中,可以通过标签指明要跳过的是哪一层循环,这个和前面的标签的使用的规则一样

基本语法:

{ ……

continue;

……

}

跳转控制语句-return介绍:

return 使用在方法,表示跳出所在的方法,如果return写在main方法,退出程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余悸-Shine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值