4、分支结构
基于条件来执行某语句,需采用分支结构。共四种结构:if结构、if...else结构、if...else if结构、switch...case结构
4.1 If结构
用于实现1条路结构
4.1.1语法:
if(boolean){
语句块-----基于条件执行的
}
4.1.2执行过程
判断boolean的值:
*若为true,则执行语句块儿(整个结束)
*若为false,则整个结束
案列:
//满500打8折
double price = 600.0;
if(price>=500){
price *= 0.8;
}
System.out.println("最终结算金额为:"+price);
4.2 if…else结构
if...else结构用于实现2条路结构
4.2.1语法
if(boolean){
语句块1
}else{
语句块2
}
4.2.2执行过程:
判断boolean的值:
*若为true,则执行语句块1(整个结束)
*若为false,则执行语句块2(整个结束)
案列:
//满500打8折,不满打九折
double price = 300.0;
if(price>=500){
price *= 0.8;
}else{
price *= 0.9;
}
System.out.println("最终结算金额为:"+price);
4.3 If…else If结构
4.3.1语法:
if(boolean-1){
语句块1
}else if(boolean-2){
语句块2
}else if(boolean-3){
语句块3
}else{
语句块4
}
4.3.2执行过程
判断boolean-1,若为true则执行语句块1(结束),若为false则
在判断boolean-2,若为true则执行语句块2(结束),若为false则
在判断boolean-3,若为true则执行语句块3(结束),若为false则执行语句块4(结束)
案例:
Scanner scan = new Scanner(System.in);
System.out,println("请输入成绩:")
double score = scan.nextDouble();
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-不及格")
}
4.4 switch…case结构
switch..case是一种特殊的分支结构,以一个整数值作为入口程序开始执行,常常用于实
现多条路结构,但相比if...else if有优点也有缺点,优点是它的执行效率高,结构清晰,缺点是
它只能对整数来判断相等。为了实现一个数对应一条路,常常需要与break配合使用才有意义。
案例:
System.out.print("请选择功能:1.关机 2.取消关机 3.计算器 4.记事本");
Scanner sc = new Scanner(System.in);
int comand = sc.nextInt();
switch (comand){
case 1:
Runtime.getRuntime().exec("shutdown -s");
break;
case 2:
Runtime.getRuntime().exec("shutdown -a");
break;
case 3:
Runtime.getRuntime().exec("calc");
break;
case 4:
Runtime.getRuntime().exec("notepad");
break;
}