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(;;){}
好了,关于三大流程控制语句的语法我们就介绍到这里,后边我们会介绍一些使用流程控制语句实现的具体案例。