Java流程控制
总体结构:
顺序结构:按照从上自下的顺序依次执行
选择结构:if,switch
循环结构:while,do-while,for
选择结构:
if:
单分支:
-
语法结构:
if(表达式:结果为Boolean值){
执行语句;
}
-
执行顺序:
1.先计算表达式出的值,如果为true,执行语句。
2.如果为false,整个语句都不执行。
-
注意事项:
1.当if分支中只存在一条语句时,可以省略大括号{} .
2.无论if语句表达式是否为真,if语句是否执行,都会继续执行后续语句.
3.单分支结构永远只能保证一种情况下会做什么操作.
4.功能有待加强。
-
代码示例:
public class Demo{ public static void main(String[] args){ int a = 1; int b = 2; if(b>a){ System.out.println(b); } } }
双分支:
-
语法结构
if(表达式:结果为Boolean值){
执行语句1;
}else{
执行语句2;
}
-
执行顺序
1.判断表达式的结果,如果结果为true,执行表达式1.
2.如果结果为false,执行表达式2.
-
注意事项
1.如果执行语句只有一行,可以省略大括号.
2.根据判断结果执行语句,语句执行完之后,继续执行if语句下面的代码.
-
代码示例:
public class Demo{ public static void main(String[] args){ int a = 1; int b = 2; if(b>a){ System.out.println(b); }else{ System.out.println(a); } } }
多分支:
-
语法结构
if(表达式1){
执行语句1;
}else if(表达式2){
执行语句2;
}else if(表达式3){
执行语句3;
}......{
}else{
执行语句n;
}
-
执行顺序
1.根据表达式的结果判断是否执行语句,如果为true,执行对应语句.
2.依次判定后续的else if,只要有一个结果为true,那么整个if语句结束.
3.如果所有的表达式结果为false,执行最后的else语句.
-
代码示例:
public class Demo{ public static void main(String[] args){ int score = 88; if(score>=90){ System.out.println("你的成绩是A"); }else if(score>=80){ System.out.println("你的成绩是B"); }else if(score>=60){ System.out.println("你的成绩是C"); }else{ System.out.println("你的成绩是D"); } } }
switch:
-
语法结构
switch(表达式){
case 值1:
执行语句1;
break;
case 值2:
执行语句2;
break;
case 值3:
执行语句3;
break;
.......
default:
执行语句n;
}
-
执行顺序
1.首先计算switch中表达式的值,然后依次匹配对应的case.如果匹配成功,执行对应的执行语句.
2.这里要注意可以通过break防止穿透.
3.如果所有的case都不匹配,执行最后的default.
-
注意事项
1.防止case穿透。
2.可以利用case穿透简化代码量。
3.将没有罗列出来的情况通过default去编写。
4.switch只能做等值判定,if能做区间判定。
5.default的位置可以任意,但一般建议放在最后。
6.switch表达式值不能是long,float,double,Boolean类型。
7.jdk1.5之后允许switch中存放枚举类型enum。
8.jdk1.7之后运许switch中存放String类型,要保证case也是String类型。
-
代码示例:
public class Demo{ public static void main(String[] args){ switch(2){ case 1; System.out.println("这是1"); break; case 2; System.out.println("这是2"); break; default: System.out.println("你不是个东西"); break; } } }
循环结构
while:
-
语法结构
while(表达式/循环条件){
循环体;
}
-
执行顺序
- 先判定循环条件,如果结果为真,执行循环体一次。
- 再次判定循环条件,直到循环条件不满足,整个循环结束。
-
注意事项
凡是不确定循环次数的就可以优先考虑while循环。
-
代码示例
public class Demo{ public static void main(String[] args){ int num = 0; while(num<=9){ System.out.println("这首歌真好听"); num++; } } }
do-while
-
语法结构
do{
循环体;
}while(循环条件);
-
执行顺序
- 首先执行循环体一次。
- 再判定循环条件,如果条件为真,执行循环体一次。
- 再次判定循环条件,直到循环条件不满足,整个循环结束。
-
注意事项
- while先判断再执行。
- do-while先执行再判断。
-
代码示例
public class Demo{ public static void main(String[] args){ int num = 0; do{ System.out.println("你好美"); num++; }while(num<=9); } }
for
-
语法结构
for(循环变量;循环条件;改变循环变量的表达式){
循环体;
}
-
执行顺序
- 声明循环变量(降低生命周期,提高内存利用率)。
- 判断循环条件,如果条件为真,执行循环体一次。
- 改变循环变量的值,再次判定循环条件,直到循环条件不满足,整个循环结束。
-
注意事项
确定循环次数可以使用for循环。
-
代码示例
public class Demo{ public static void main(String[] args){ for(int num = 0;num<=6;num++){ System.out.println("今天夜色如墨"); } } }