一、基本的结构
switch(条件){
case 常量1:
//代码块
break;
case 常量2:
//代码块
break;
default:
//默认执行
}
题目:给成绩划分等级 60~70 及格 ,70~80中等,60及格,60以下不及格
public static void main(String[] args) {
System.out.println("请输成绩:");
Scanner reda =new Scanner(System.in);
float num =reda.nextFloat();
int num1=(int)num;
switch(num1/10){
case 10:
case 9:
System.out.print("优秀");
break;
case 8:
case 7:
System.out.print("中等");
break;
case 6:
System.out.print("及格");
break;
default:
System.out.print("不及格");
break;
}
-
switch
的注意点:
case
后面只能接常量(不能是字符串):case 常量:
switch(条件)
这个条件运算出来的结果只能int
型或者char
类型
一般记得加上break;
case
后面的常量不能是相同
default
只能放在最后面
如果是jdk是1.6及1.6之前的版本
在Java中switch的常量只能是int,cahr,byte
在java jdk版本1.7或者是1.7版本以上string类型的常量也是可以的。
二、whlie循环
- 基本的结构
while(条件){
//循环体
}
执行过程 当条件成立(运算的结果是非0的正整数或是boolean类型的true),就执行循环体
注:
while循环我们一般是把控制循环的变量放在循环体种
题目:用while循环写一个死循环
int num=2;
whlie(num>1){
}
三、do-whlie
- 基本结构:
do {
//循环体
} while (条件);
}
与while
循环的区别:do-while
始终都要执行一次循环,while
只有当条件成立的时候才会执行,其他的基本一致
四、怎么使用
基本上能用
switch
解决的我们都可以用结果来解决。使用switch
的时候会是规律明显(比如是给成绩排名的例子),产生有限的运算结果可以匹配。使用
while
和do-while
的时候,需要注意执行的次数,如果第一次需要进入循环体就用do-while
合适。
五、随机数
Random ran=new Random();
int num = run.nextInt(n);
产生的随机数就是在0~n-1之间
是使用 java.iutl.Randon
的java自带包
如果要产生java,util.Random
的java自带包
如果要产生n~m之间的随机数,
int num=ran.nextInt(m-n+1) + n;
比如我们要产生5 ~ 10之间的随机数,nextInt(5),产生的是0~4的随机数,
所以我们产生0 ~ 5之间的随机数再加上5,的到5 ~ 10之间的随机数,使用我们应该用
nextInt(6)+5,得到5~10之间的随机数。
例子:
Random ran=new Random();
int num=ran.nextInt(3);
System.out.println("请您出拳");
Scanner read=new Scanner(System.in);
int num2=read.nextInt();
if((num2==0&&num==1)||(num2==1&&num==2)||(num2==2&&num==0)){
System.out.println("赢了,"
+ "电脑出的是"+
(num==0?"石头":(num==1?"剪刀":"布"))
+"你出的是"+
(num2==0?"石头":(num2==1?"剪刀":"布")));
}else if((num2==1&&num==2)||(num2==0&&num==2)||(num2==2&&num==1)){
System.out.println("你出的是"+
(num2==0?"石头":(num2==1?"剪刀":"布"))
+ "电脑出的" +
(num==0?"石头":(num==1?"剪刀":"布"))+"结果平了"
+ "赢了");
}else if(num2==num){
System.out.println("你出的是"+
(num2==0?"石头":(num2==1?"剪刀":"布"))+
"电脑出的是"+
(num==0?"石头":(num==1?"剪刀":"布"))+
"结果平了");
}
作业:
public static void main(String[] args) {
// 由电脑随机生成(1-10)一个数字,然后由你输入,
// 如果输入的数字比随机数字大,则提示你输入的数字太大
// ,否则,输入太小,当输入的数字等于随机的生成的数字时,
// 就打印恭喜你,猜对了
Random ran=new Random();
int num=ran.nextInt(10-1+1) + 1;
System.out.println("请输入一个数:");
Scanner rede=new Scanner(System.in);
int num1=rede.nextInt();
if (num1>num) {
System.out.println("数字太大随机数是"+num);
}else if (num1<num) {
System.out.println("数字太小随机数是"+num);
}else if (num1==num) {
System.out.println("猜对了随机数"+num);
}
}
}
运行效果: