流程控制
概述
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说,程序的流程对运行结果
有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现
我们要完成的功能。
顺序结构
public static void main(String[] args) {
//顺序执行,根据编写的顺序,从上到下运行
System.out . println(1);
System. out. println(2);
System . out. println(3);
}
判断语句
●if语句第- 种格式: if
if(关系表达式) {
语句体;
}
●执行流程
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体
●if语句第二种格式: …else
if(关系表达式) {
语句体1;
} else {
语句体2;
}
●执行流程
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
●if语句第三种格式: if..else if ..else
if (判断条件1) {
执行语句1;
} else if (判断条件2) {
执行语句2;
}else if (判断条件n) {
执行语句n;
} else {
执行语句n+1;
}
●执行流程
首先判断关系表达式1看其结果是true还是false
如果是true就执行语句体1
如果是false就继续判断关系表达式2看其结果是true还是false
如果是true就执行语句体2
如果是false就继续判断关系表达式..看其结果是true还是false
语句练习
●指定考试成绩,判断成绩的等级。
90-100 优秀
80-89 好
70-79 良
60-69 及格
60以下不及格
public static vold main(string[] args) {
int score = 100;
if(score<eII score>100){
System. out . print1n(”你的成绩是错误的");
}else if(score>-90 && score<-100){
System. out . print1n(”你的成绩属于优秀");
}else if(score>-80 && score<90){
System. out . println(“你的成绩属于好");
}else if(score>-70 && score<80){
System. out . print1n("你的成绩属于良");
}else if(score>-60 && score<70){
System. out . print1n("你的成绩属于及格");
}else {
System. out . println(“你的成绩属于不及格");
}
}
三元运算符和标准的if-else语句分别实现:取两个数字当中的最大值
public static void main(String[] args) {
int a = 105;
int b=20;
//首先使用三元运算符
//intmax=a>b?a:b;
//使用今天的if语句
int max;
if(a>b){
max = a;
} else {
max = b;
}
System. out. println("最大值:"+ max);
}
选择语句
选择语句—switch
switch(表达式) {
case常量值1:
语句体1;
break;
case常量值2:
语句体2;
break;
......
default;
语句体n+1;
break;
}
●执行流程
首先计算出表达式的值
其次,和case依次比较,- - 旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分, 然后程序结束掉。
public static void main(String[] args) {
int num = 1;
switch (num) {
case 1:
System.out . println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System .out . println("星期三");
break;
case 4:
System. out . println("星期四");
break;
case 5:
System. out.println("星期五");
break;
case 6:
System. out. println("星期六");
break;
case 7:
System.out . println("星期日");
break;
default:
System.out . println("数据不合理");
break; //最后一个break语句可以省略,但是强烈推荐不要
}
}
switch语句使用的注意事项:
**1.多个case后面的数值不可以重复。** **2.switch后 面小括号当中只能是下列数据类型:**<br /> **基本数据类型: byte/ short/char/int**<br /> **引用数据类型: String字符串、 enum枚举** **3.switch语 句格式可以很灵活:前后顺序可以颠倒,而且break语句还可以省略。**<br /> **“匹配哪一一个case就从哪-一个位置向下执行,直到遇到了break或者整体结束为止。”**