switch
switch是一个条件选择结构,和if,else,的作用是一样的,但是在某些时候用switch会比if,else,结构好用一些。首先说一下switch后面的数据类型只能是:byte、short、char、int四种整数型和枚举类型String,不能是boolean(布尔类型)类型的。例题:
请输入分数值[0~100]:
65
E
在用户输入分值后,电脑输出该分数的等级,90——100是A,80——90是B,以此类推。在这个例题中用switch就比用if,else,结构好一些,switch可以用于一些类型相同的结构选择。
Scanner sca = new Scanner(System.in);
System.out.println("请输入分数值[0~100]:");
int score = sca.nextInt();
if(score>100 || score<0) {
System.out.println("分数值无效,请输入0~100之间的百分制分数!");
System.exit(0);
}
switch (score/10) {
case 10:
System.out.println("A");
break;
case 9:
System.out.println("B");
break;
case 8:
System.out.println("C");
break;
case 7:
System.out.println("D");
break;
case 6:
System.out.println("E");
break;
default:
System.out.println("F");
break;
这一长串代码就可以将switch的用法展现出来,在做这个小程序时怎么判断用户输入的成绩在哪个分数段是一个难题,在这里我是用int类型将十位数字除以十如果是69的话那么就是69/10=6.9,再用int数据转化一下那么只要是六十多的分数都会变为6,所以我就可以将六十多分的统一定义score/10后的数字。
break;在每一次用完case后都必须写这个,否则这串代码就不会向下运行了。
default:是作为最后的代码,是和if,else,中else的作用一样,如果用户输入的数据不在60——100的话那么就会执行这一串代码。
System.exit(0);这一串代码对于我来说也很陌生这也是老师在课堂上补充的,这一串代码的意思是退出这次代码运行。现在我还不会用,所以就在这里我就记录一下。
但经过自己打过一次这个代码就会觉得在switch之后的代码重复很多遍,而且很长。这不适合于比较懒的我所以我又在老师那里学了一招。
System.out.println("请输入分数值[0~100]:");
Scanner sca = new Scanner(System.in);
int score = sca.nextInt();
if(score>100 || score<0) {
System.out.println("分数值无效,请输入0~100之间的百分制分数!");
System.exit(0);
}
String resault ="";
switch(score/10) {
case 10:
resault="A";
break;
case 9:
resault="A";
break;
case 8:
resault="B";
break;
case 7:
resault="C";
break;
case 6:
resault="D";
break;
default:
resault="E";
}
System.out.println(resault);
这一串看起来就比较短了,在运行之前先定义一个String类型的resault只是定义一个类型并不付给它数值,在下面每用一次case就将该范围内的数值定义给resault最后只需要在所有代码下面输入一行
System.out.println(resault);
就能把这个等级给显示出来。
(今天心比较浮躁写的可能不全,等我以后复习的时候再回来改一下吧。
希望明天的我也能写完一篇,只有这样我才能觉得在大学不是在虚度时光。继续努力吧。)