执行流程
- 和Js执行流程相同 Java 中的基本执行流程分为三种,顺序执行,分支执行和重复(循环)执行
顺序执行
- 所谓顺序执行,就是按照Java代码编写的先后顺序,依次执行,不作任何控制。
int i; // Java中的变量在未初始化的时候也不能使用。
int j; // Java中的变量在未初始化的时候也不能使用。
int i = 10;
int j = 20;
System.out.println(i + j);
int i = 10; // Java代码默认从上到下顺序执行,不声明无法使用
int j = 20; // Java代码默认从上到下顺序执行,不声明无法使用
分支执行
- 所谓分支执行,就是程序执行时,会根据某一条件,决定某些程序语句的执行与否。
- 大体上分支执行可分为,单分支结构,双分支结构和多分支结构
// 分支结构
// TODO 可选分支——单分支结构
// 判断 条件表达式的结果是否为 true,是 true,则执行分支逻辑,是 false,不执行,继续执行下面的代码。
int i = 10;
System.out.println("第一步");
System.out.println("第二步");
if (i == 10){
System.out.println("分支");
}
System.out.println("第三步");
System.out.println(">>>>>>>");
// 必选分支——双分支结构(二选一)
System.out.println("第一步");
System.out.println("第二步");
if(i == 20){
System.out.println("分支1");
}else {
System.out.println("分支2");
}
System.out.println("第三步");
System.out.println(">>>>>>>");
// 多分支结构
System.out.println("第一步");
System.out.println("第二步");
if(i == 30){
System.out.println("分支1");
} else if (i == 20) {
System.out.println("分支2");
}else{
System.out.println("分支3");
}
System.out.println("第三步");
特殊分支:switch
- 在分支执行中,包含有一个特殊的分支语句 switch 语句,属于多分支语句,根据条件判断执行哪一分支及其之后的所有分支。
举个例子
// 特殊的分支结构
// switch (数据) {};
// switch 语法会对数据进行判断,如果等于某一个分支,那么执行对应的分支(及剩下所有的分支)的逻辑代码
// 如果一个分支都无法匹配,那么一个分支都不会执行,如果无法匹配也要执行改代码,只需要借助 default 关键字
// 如果执行一个分治后,不想继续执行后续分支,那么可以借助 break 关键字,跳出当前分支结构。
System.out.println("第一步");
System.out.println("第二步");
int i = 40;
switch(i){
case 10:
System.out.println("分支1");
break;
case 20:
System.out.println("分支2");
break;
case 30:
System.out.println("分支3");
break;
default:
System.out.println("其他分支");
}
System.out.println("第三步");
重复(循环)执行
- 所谓循环执行,就是根据判定条件重复的执行某一段代码,重复执行结构分为三种
- for 循环
for(初始化表达式; 条件表达式 ; 更新表达式){ 需要循环的代码 }
如果条件表达式返回结果为false,那么跳过循环语句,直接执行后续代码,如果返回结果为true,那么执行循环代码 - while 循环
while( 条件表达式 ) { 需要循环的代码 }
在该循环中,只要条件表达式的值为真(true),就会执行循环代码,为假(false),则跳出循环执行后续代码 - do…while循环
do{ 需要循环的代码 }while( 条件表达式 )
在该循环中,只要条件表达式的值为真true,就会执行循环代码,条件表不成立,也会执行一次循环代码。然后再执行后续代码。
举个例子
- for 循环
System.out.println("第一步");
int i = 10;
while(i < 20){
System.out.println("循环代码");
i++;
}
System.out.println("第第二步");
do{
System.out.println("循环代码-2");
}while(i<10);
System.out.println("第三步");
for(int j = 0; j<10 ; j++){
System.out.println("循环代码-3");
}
System.out.println("第四步");
break && continue
- break 和 continue 都是在循环中,控制循环结束与否。
- break 结束循环
- continue 结束当前循环,进行下一次循环。
举个例子
// 需求:从1 打印到 10 但不要 4
for (int i = 01; i < 11; i++) {
if (i == 4) {
} else {
System.out.println(i);
}
}
System.out.println(">>>>>>>>>>>");
/* break 关键字,结束当前循环 */
for (int i = 1; i < 11; i++) {
if (i == 4) {
break;
}
System.out.println(i); // 有break跳出循环,只能打印到 3
}
System.out.println(">>>>>>>>>>>");
// continue 关键字,跳过此后代码(此次循环)进入下一次循环
for (int i = 1; i < 11; i++) {
if(i == 4){
continue;
}
System.out.println(i);
}