一、流程控制
1、概述:
在一个程序执行的过程中,各条件语句的执行顺序对程序的结果是有直接影响的,也就是说,程序的流程对运行结果又直接的影响,所以,我们必须清楚每条语句的执行流程,而且,很多时候要通过控制语句的执行顺序来实现要完成的功能。
2、顺序结构:
顺序执行,根据编码的顺序,从上到下运行
public static void main(string [] args){
System.out.println(1);
System.out.println(2);
System.out.println(3);
二、判断语句
1、判断语句1–if
语句格式:
if语句第一种格式:if
if(关系表达式){
语句体;
}
执行流程
(1) 首先判断关系表达式看其结果是true还是false
(2) 如果是true就执行语句体
(3) 如果是false就不执行语句体
2、判断语句2–if…else
语句格式:
if(关系表达式){
语句体1;
}
Else{
语句体2;
}
执行流程
首先判断关系表达式看结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
3、判断语句3—if…else if…else
语句格式:
if(判断条件1){
执行语句1;
}else if(判断语句2){
执行语句2;
}
…
}else if(判断条件n){
执行语句n;
}
Else
{
执行语句n+1;
}
执行流程:
首先判断关系表达式1看结果是true还是false
如果是true就执行语句体1
如果是false就继续判断关系表达式2看结果是true还是false
如果是true就执行语句体2
如果是false就继续判断关系表达式…看结果是true还是false
…
三、选择语句
选择语句—switch
语句格式
Switch (){
Case 常量值1;
语句体1;
break;
Case 常量值2;
语句体2;
break;
…
default:
语句体n+1;
break;
}
执行流程:
(1)首先计算出表达式的值
(2)其次,和case一次比较,一旦有对应的值,就会执行相应的语句,在执行过程中,遇到break结束
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束。
switch语句使用的注意事项
(1)多个case后面的数值不可以重复
(2)switch 后面小括号当中只能是数据类型
基本数据类型:byte/short/char/int
引用数据类型:string字符串,enumerate枚举
(3)switch语句格式可以很灵活:前后顺序可以颠倒,而且break语句还可以省略
匹配哪一个case就从哪一个位置向下执行,知道遇到了break或者整体结束为止。
四、循环语句
1、循环概述
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。
2、循环语句1—for
for循环语句格式:
for(初始化表达式a,布尔表达式b,步进表达式c){
循环体d
}
执行流程
执行顺序:abcd>bcd>bcd…b不满足为止
(1)负责完成循环变量初始化
(2)负责判断是否满足循环条件,不满足则跳出循环
(3)具体执行的语句
(4)循环后,循环条件涉及变量的变化情况
循环结构的基本组成部分,一般可以分为四部分:
(1)初始化语句:在循环开始最初执行,而且只做唯一一次。
(2)条件判断:如果成立,则循环继续,如果不成立,则循环退出
(3)循环体:重复要做的事情内容,若干行语句
(4)步进语句:每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次
3、循环语句2—while
while循环语句格式:
初始化表达式a
while(布尔表达式b){
循环体c
步进表达式d
}
执行流程:
执行顺序:abcd>bcd>bcd…b不满足为止
a负责完成循环变量初始化
b负责判断是否满足循环条件,不满足则跳出循环
c具体执行的语句
d循环后,循环变量的变化情况
While 循环有一个标准格式,还有一个扩展格式
标准格式:
while(条件判断){
循环体
}
扩展格式:
初始化语句:6
while(条件判断){
循环体
步进语句
}
4、do…while循环格式
语句格式:
初始化表达式a
Do{
循环体c
步进表达式d
}while(布尔表达式2);
执行流程
执行顺序:acd>bcd>bcd…b不满足为止
a负责完成循环变量初始化
b负责判断是否满足循环条件,不满足则跳出循环
c具体执行流程的语句
d循环后,循环变量的变化情况
三种循环的区别:
如果条件判断从来没有满足过,那么for循环和while循环将会执行0次,但是do-while循环会执行至少一次
for循环的变量在小括号当中定义,只有循环内部才可以使用,while循环和do-while循环初始化语句本来就在外面,所以循环之后还可以继续使用。
5、条件控制语句关键字
(1)Break关键字的用法有常见的两种:
可以在用在switch语句中,一旦执行,整个switch语句立刻结束
还可以用在循环语句中,一旦执行,整个循环语句立刻结束,打断循环。
关于循环的选择,有一个小建议
凡是次数确定的场景多用for循环,否则多用while循环。
public class Demo1Break{
public static void main(string [] args){
for (int i=1; i<=10;i++){
//如果希望从第4次开始,后续全都不要了,就要打断循环
if(i==4){ //如果当前是第4次
break; //那么久打断整个循环
}
system.out.println("Hello"+i);
}
}
}
(2)continue关键字
一旦执行,立刻跳过当前循环剩余内容,马上开始下一次循环
public class Demo2Continue{
public static void main(String[] args){
for (int i=1;i<=10;i++){
if (i==4){
continue;
}
Stytem.out.println(i+"层到了");
}
}
}
6、死循环:永远停不下来的循环
死循环的标准格式:
while(true){
循环体
}
7、嵌套循环
概述
所谓嵌套循环,是指一个循环的循环体是另一个循环,比如for循环里面还有一个for循环,就是嵌套循环,总共的循环次数=外循环次数*内循环次数
外循环一次,内循环多次
比如跳绳:一共跳5组,每组跳10个。5组就是外循环,10个就是内循环。