java中的流程控制语句总共有三种,分别是顺序结构,分支结构和循环结构
1. 顺序结构: 没什么好说的,代码从前往后依次执行
2. 分支结构,也称选择结构,选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。
Java语言提供了两种选择结构语句
if语句
switch语句
2.1 if语句
第一种形式:
if(关系表达式) {
语句体;}
执行流程
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体
第二种形式:
if(关系表达式) {
语句体1;
}else {
语句体2;
}
执行流程
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
第三种形式:
if(关系表达式1) {
语句体1;
}else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
执行流程
首先判断关系表达式1看其结果是true还是false
如果是true就执行语句体1
如果是false就继续判断关系表达式2看其结果是true还是false
如果是true就执行语句体2
如果是false就继续判断关系表达式…看其结果是true还是false
…
如果没有任何关系表达式为true,就执行语句体n+1。
2.2 switch语句:
格式:
switch(表达式) {
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
switch表示这是switch语句
表达式的取值:byte,short,int,char,
JDK7以后可以是String
case后面跟的是要和表达式进行比较的值
语句体部分可以是一条或多条语句
break表示中断,结束的意思,可以结束switch语句
default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
执行流程:
首先计算出表达式的值
其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉
注意事项:
case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
default可以省略吗?
可以省略。一般不建议。除非判断的值是固定的。
break可以省略吗?
可以省略,一般不建议。
default的位置一定要在最后吗?
可以出现在switch语句任意位置。
switch语句的结束条件
遇到break
执行到程序的末尾
3. 循环结构.
分为三种,分别是for循环,while循环和do...while循环
3.1 for循环
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句体;
}
执行流程
A:执行初始化语句
B:执行判断条件语句,看其结果是true还是false
如果是false,循环结束。
如果是true,继续执行。
C:执行循环体语句
D:执行控制条件语句
E:回到B继续
比如打印1-100
for(int i=1;i<=100;i++){
System.out.println(i);
}
注意事项:
判断条件语句的结果是一个boolean类型
循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。
一般来说:有左大括号就没有分号
3.2 while循环
格式:
初始化语句;
while(判断条件语句) {
循环体语句体;
控制条件语句;
}
上面的案例使用while循环实现
int i=1;
while(i<=100){
System.out.println(i);
i++;
}
3.3 do...while循环
格式:
初始化语句;
do {
循环体语句;
控制条件语句;
} while(判断条件语句);
此循环主要用于循环体至少执行一次的循环。
三种循环的比较:
使用场景:
do...while循环语句体至少会执行一次
for循环和while循环只有在条件成立的时候才会执行循环语句体
推荐使用:
对固定范围内的循环推荐使用for
对未知的范围内的循环推荐使用while
对至少需要执行一次循环语句体的推荐使用do...while
如下代码是死循环
while(true){}
for(;;){}
好了,关于三大流程控制语句的语法我们就介绍到这里,后边我们会介绍一些使用流程控制语句实现的具体案例。如果大家有其他疑问,可在文章下留言,如果觉得文章对自己的学习有帮助,请关注我的博客,后面会有更多的文章发布。也可以添加qq群:767375013(请备注CSDN)。里边有更多的文档视频资料,及线上免费公开课。希望和大家一起探讨。