一、使用switch时的注意事项
1.表达式类型只能是byte、short 、int、char,JDK5开始支持枚举,JDK7开始支持String,不支持double、float、long。
2.case给出的值不允许重复,且只能是字面量,不能是变量。
3.不要忘记写break,否则会出现穿透现象。
注:switch穿透性在以下情况下可以简化代码
当存在多个case分支的代码相同时,可以把相同的代码放到一个case块中,其他的case块都通过穿透性穿透到该case执行代码即可,这样可以简化代码。
例如以下两种代码的效果是相同的,但第二种较为简便。
public class exam {
public static void main(String[] args) {
String day="星期三";
switch(day){
case "星期一":
System.out.println("第一单元");
break;
case "星期二":
System.out.println("第一单元");
break;
case "星期三":
System.out.println("第一单元");
break;
case "星期四":
System.out.println("第一单元");
break;
default:
System.out.println("超出范围");
}
}
}
public class exam {
public static void main(String[] args) {
String day="星期三";
switch(day){
case "星期一":
case "星期二":
case "星期三":
case "星期四":
System.out.println("第一单元");
break;
default:
System.out.println("超出范围");
}
}
}
二、生成随机数
实现步骤
1.导包:告诉程序去JDK的哪个包中找Random
2.写一行代码拿到随即对象
3.调用随机数的功能获取0--n-1之间的随机数
import java.util.Random;//第一步
public class exam {
public static void main(String[] args) {
Random num=new Random();//第二步
int n=num.nextInt(10);//第三步
System.out.println(n);
}
}
注意:nextInt(n)功能只能生成:0至n-1之间的随机数,不包含n。
实用例子:当需要生成a-b之间的随机数时,int? n=num.nextInt(b-a+1)+a;
猜数字游戏
以下是我编写的代码
import java.util.Random;
import java.util.Scanner;
public class exam {
public static void main(String[] args) {
Random a=new Random();
int num =a.nextInt(100)+1;
Scanner sum=new Scanner(System.in);
int temp=-1;
while(temp!=num){
System.out.println("请输入数据");
temp=sum.nextInt();//输入数据
if(temp>num){
System.out.println("数字过大");
}else if(temp<num){
System.out.println("数字过小");
}
}
System.out.println("数字正确");
}
}