流程控制
总体结构:
顺序结构:按照从上自下的顺序依次执行
选择结构: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("今天夜色如墨");
}
}
}