练习题
说明:
1.凡是可以使用switch-case的结构,都可以转换为if-else结构。反之,不成立。
2.如果一个程序两者都可以用,同时switch-case的取值情况不太多,那么有限使用switch-case。(原因:switch-case的执行效率稍高。)
1.使用switch语句改写下列if语句
int a = 3;
int x = 100;
if(a==1)
x+=5;
else if(a==2)
x+=10;
else if(a==3)
x+=16;
else
x+=34;
改写:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("输入x的值:");
int a = scan.nextInt();
int x = 100;
switch(a){
case 1:
x +=5;
break;
case 2:
x +=10;
break;
case 3:
x +=16;
break;
default:
x +=34;
}
System.out.println("x="+x);
}
}
输出:
输入x的值:
0
x=134
2 .编写程序:从键盘上读入一个学生成绩,存放在变量score中,根据score的值输出其对应的成绩等级:
score>=90 ---->等级:A
70<=score<90 ---->等级:B
60<=score<70 ---->等级:C
score<60 ---->等级:D
代码:
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入学生成绩(0~100):");
int score = scan.nextInt();
//方式一:if-else结构
/*
if(score >= 90) {
System.out.println("等级:A");
}else if(score >= 70) {
System.out.println("等级:B");
}else if(score >= 60) {
System.out.println("等级:C");
}else {
System.out.println("等级:D");
}
*/
//方式二:
switch(score/10) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("等级:D");
break;
case 6:
System.out.println("等级:C");
break;
case 7:
case 8:
System.out.println("等级:B");
break;
case 9:
case 10:
System.out.println("等级:A");
break;
default:
System.out.println("wrong!!!");
}
}
}
输出:
请输入学生成绩(0~100):
99
等级:A