1.Math.randm(); 产生一个[0.0,1.0)之间随机double类型 的数据,所以可以用一个double类型变量接收一下
eg: double num = Math.random();
2.Math.random()*10 就可以得到 [0.0-10.0)之间的整数 ,用int 数据类型进行强转一下就可以得到1-10之间的整数了
eg:int num1 =(int)(Math.random()*10);
运行结果,这个结果也是随机:
3.在延伸一点就可以得到一个公式,用来得到你预想中的随机范围
总结:随机获取一个[num1,num2)之间的int类型的整数(num2>num1)
int num = (int)(Math.random()*(num2-num1)+num1);
求[19,51)范围随机数举例
ublic static void main(String[] args) {
int num2 = (int)(Math.random()*32+19);
System.out.println(num1+" "+num2);
}
附上一个案例实操一下
题目:抽奖规则:会员号的百位数字等于产生的随机数字即为幸运会员
public static void main(String[] args) {
// 创建Scanner类对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的四位会员卡号:");
int cardId = sc.nextInt();
System.out.println("您的会员卡号是:" + cardId);
// 获取会员号的百位数字
int baiWei = cardId / 100 % 10;
System.out.println("百位数字:" + baiWei);
// 获取[0,10)之间随机数
int num = (int) (Math.random() * 10);
System.out.println("随机数字:" + num);
// 判断是否是幸运会员
if (baiWei == num) {
System.out.println("恭喜你,成为幸运会员");
} else {
System.out.println("很遗憾,没能成为幸运会员");
}
System.out.println("程序执行完毕");
sc.close();
}
switch选择结构
他的相关语法
语法结构:
switch(表达式){
case 常量1:
//语句1
break;
case 常量2:
//语句2
break;
case 常量3:
//语句3
break;
..........
case 常量n:
//语句n
break;
default:
//语句m;
break;
}
执行规律:
根据表达式的值去匹配case后面的常量值,匹配上了就执行对应的语句,执行完对应语句后,执行break,结束整个switch结构
如果表达式的值与所有的常量值都不匹配,就执行default里面的语句,执行完以后执行break退出整个switch选择结构、
注意事项:
1)表达式的值可以是int、short、byte、char、枚举类型、String(老版本不支持)
2)case后面的常量值不能相同
3)default语句可以省略不写。如果写上表示表达式的值与所有常量值不匹配,就执行default里的语句。default语句可以写在任意位置,一般写在switch的末尾位置
4)switch选择结构只能处理等值判断的情况
5)break的作用是结束整个switch选择结构,如果缺少,代码会继续向下执行,执行下一个case里的语句,这种现象称之为“case穿透”现象。case穿透现象可以合理使用,遇到不了break就会一穿到底
这里给大家附上一个“case穿透”小例子
题目:输入月份,输出季节
12 1 2 冬季 3 4 5 春季 6 7 8 夏季 9 10 11 秋季
public static void main(String[] args) {
int month = 3;
switch (month) {
case 12:
case 1:
case 2:
System.out.println("冬季");
break;
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
}
}