Java提供了一些流程控制语句,来控制程序的执行流程。
顺序结构:程序默认流程
分支结构:if Switch
循环结构:for while do..while
顺序结构:如果没有写其他的结构,按照代码的先后顺序,依次执行程序中大多数的代码都是这样执行的。
public class Test {
public static void main(String[] args) {
System.out.println("A");
System.out.println("B");
System.out.println("C");
}
}
分支语句:if Switch
if:
作用:根据条件有选择的执行代码
格式有三种:
- if(条件){执行代码}
注意:如果{}中只有一行代码,可以省略{}不写,不建议省略。只能执行一个分支。
- if(条件1){执行代码}else{其他代码}
- if(条件1){执行代码}else if(条件2){执行代码}else if(条件3){..}..else{其他代码}
Switch
作用:匹配值然后执行某个分支
执行流程
- 先执行表达式的值,拿着这个值去与case后的值进行匹配。
- 匹配哪个case的值为true就执行哪个case,遇到break就跳出switch分支。
- 如果case后的值都不匹配则执行default代码。
注意事项:byte short char int JDK 5支持枚举,JDK7开始支持String,不支持double float long
值不能是变量,也不能重复
Switch 的穿透性:含义:如果case中没有写break,遇到这个case会直接往下一个case执行,不会判断了,直到遇见break截止。
循环结构:
作用:控制代码重复执行很多次。
for:for(初始化语句;循环语句;迭代语句){循环体代码}
for (int i = 0; i < 3; i++) {
System.out.println("Hello World");
}
while:
int i = 0;while (i < 3) {
System.out.println("Hello World");
i++;
}
do..while
初始化语句;
do {
循环体语句;
迭代语句;
} while (循环条件);
int i = 0;do {
System.out.println(“Hello World!");
i++;
} while( i < 3);
特点:一定先执行一次循环体。
三种循环的差别:
- for和while是判断后执行 ; do-while 第一次直接执行,再判断
- for和while功能上没有任何区别,while能做的for一定能做
- for的变量只能循环内部有效,while的变量从定义开始到循环结束后还可以被使用。
使用指导:知道循环几次使用for循环。。不知道循环几次使用while循环。
死循环:
作用:控制代码一直执行下去。
for(;;) {
System.out.println("Hello World");
}
// 经典做法
while(true) {
System.out.println("Hello World");
}
do {
System.out.println("Hello World");
} while (true);
循环嵌套:
形式:循环中又包含循环
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 5; j++) {
System.out.println("我爱你中国");
}
}
特点:
外部循环每循环一次,内部循环全部执行完一次。