我在乐字节学习的第三天(Java)
今天坑王老薛 带我们学习了控制语句,我本来以为有多难(手动狗头)结果不就是 如果 是否之类的东西吗hh
下面是我的学习成果,大家快来康康,如果有错误的地方欢迎指正。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZsNAk21d-1607932964927)(https://s3.ax1x.com/2020/12/14/rnhS6x.jpg)]
流程控制:
1.概述:在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说,程序的流程对运行的结果有直接影响。所以,我们必须清楚每条语句执行过程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。
1
2顺序结构
public static void main(String[] args){
//顺序执行,根据编写的顺序,从上到下运行
System.out.println(1);
System.out.println(2);
System.out.println(3);
}
1234567
判断语句:
1.判断语句1 --if
。if语句第一种格式:if
if(关系表达式){
语句体;
}
12345
执行流程:
首先判断关系表达式,看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体
1234
。if语句第二种格式:if...else
if(关系表达式){
语句体1;
}
else{
语句体2;
}
1234567
执行流程:
首先判断关系表达式,看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
1234
。if语句第三种格式:if...else if ...else
if(关系表达式1){
语句体1;
}
else if(关系表达式2){
语句体2
}
...
else{
语句体n;
}
1234567891011
执行流程:
。首先判断关系表达式1,看其结果是true还是false
。如果是true就执行语句体1
。如果是false就判断关系表达式2,看其结果是true还是false
。如果是true就执行语句体2
...
123456
选择语句:
1.选择语句--switch
switch语句格式:
12
switch(表达式){
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
...
default:
语句体n;
break;//最后一个break语句可以省略,但是强烈推荐不要省略。
}
123456789101112
执行流程:
。首先计算出表达式的值
。其次,和case一次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。(匹配哪一个case就从哪一个位置向下执行,知道遇到了break或整体结束为止。)
。最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
注意事项:
1.多个case后面的数值不可以重复。
2.switch后面小括号当中只能时下列数据类型:
基本数据类型:byte/short/char/int
引用数据类型:String字符串、enum枚举
3.switch语句格式很灵活:前后顺序可以颠倒,而且break语句还可以省略。
1234567891011
循环语句:
1.概述:循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被成称为循环体,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则将一直执行下去,形成死循环。
循环结构的基本组成部分,一般可以分成四部分:
①初始化语句:在循环开始最初执行,而且只做唯一一次。
②条件判断:如果成立,则循环继续;如果不成立,则循环推出。
③循环体:重复要做的事情内容,若干行语句。
④步进语句:每次循环之后都要进行的扫尾工作。
2.循环语句1--for
123456789
for循环语句格式:
for(初始化表达式①;布尔表达式②;步进表达式③){
循环体④
}
1234
执行流程:
执行顺序:①②③④ > ②③④ > ②③④...②不满足为止。
①负责完成循环变量初始化
②负责判断是否满足循环条件,不满足则跳出循环
③具体执行的语句
④循环后,循环条件所涉及变量的变化情况
3.循环语句2--while
while循环语句格式:
123456789
标准格式:
while(条件判断){
循环体
}
1234
扩展格式:
初始化表达式①
while(布尔表达式②){
循环体③
步进表达式④
}
123456
执行流程:
执行顺序:①②③④ > ②③④ > ②③④...②不满足为止。
①负责完成循环变量初始化
②负责判断是否满足循环条件,不满足则跳出循环
③具体执行的语句
④循环后,循环条件所涉及变量的变化情况
4.循环语句3--do...while
12345678
do...while循环格式:
初始化表达式①
do{
循环体③
步进表达式④
}while(布尔表达式②);
123456
执行流程:
执行顺序:①③④ > ②③④ > ②③④...②不满足为止。
①负责完成循环变量初始化
②负责判断是否满足循环条件,不满足则跳出循环
③具体执行的语句
④循环后,循环条件所涉及变量的变化情况
123456
三种循环的区别:
1.如果条件判断从来没有满足过,那么for循环和while循环将会执行0次,但是do-while循环会执行至少一次。
2.for循环的变量在小括号当中定义,只有循环内部才可以使用。while循环和do-while循环初始化语句本来就在外面,所以出来循环之后还可以继续使用。
关于循环的选择,有一个小建议:
凡是次数确定的场景多用for循环;否则多用while循环。
break关键字的用法有常见的两种:
1.可以用在switch语句当中,一旦执行,整个switch语句立刻结束。
2.还可以用在循环语句当中,一旦执行,整个循环语句立刻结束。打断循环。
continue关键字的用法:
1.一旦执行,立刻跳过当前次循环剩余内容,马上开始下一次循环。
123456789101112
死循环:
永远停不下来的循环,叫做死循环。
死循环的标准格式:
while(true){
循环体
}
12345
循环嵌套:
###### 所谓嵌套循环
```
,是指一个循环的循环体是另一个循环。比如for循环里面还是有一个for循环,就是嵌套循环。总共的循环次数
```
###### =外循环次数*内循环次数
嵌套循环格式:
for(初始化表达式①;循环条件②;步进表达式③){
for(初始化表达式④;循环条件⑤;步进表达式⑥){
执行语句⑦;
}
}
嵌套循环执行流程:
执行顺序:①②③④⑤⑥ > ④⑤⑥ > ⑦②③④⑤⑥ > ④⑤⑥
外循环一次,内循环多次
r循环,就是嵌套循环。总共的循环次数
```
=外循环次数*内循环次数
嵌套循环格式:
for(初始化表达式①;循环条件②;步进表达式③){
for(初始化表达式④;循环条件⑤;步进表达式⑥){
执行语句⑦;
}
}
嵌套循环执行流程:
执行顺序:①②③④⑤⑥ > ④⑤⑥ > ⑦②③④⑤⑥ > ④⑤⑥
外循环一次,内循环多次