目录
嵌套if选择结构
在一个if结构中包含另外一个if结构
语法结构:
if(条件1){
//代码块1
if(条件2){
//代码块2
}else{
//代码块3
}
}else{
if(条件3){
//代码块4
}else{
//代码块5
}
}
执行规律:
根据条件判断的结果进入到不同的{}中,如果{}中还有条件,继续判断,根据条件判断的结果执行相关的代码
package com.bdqn.demo05;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
/*
* 学校举行运动会,百米赛跑跑入10 秒内的学生有资格进决赛,根据性别分别进入男子组和女子组
*/
// equals():比较两个字符串内容是否相同,内容相同,返回true,内容不相同返回false
Scanner sc = new Scanner(System.in);
// 输入跑步成绩
System.out.println("请输入你的百米赛跑成绩:");
double runScore = sc.nextDouble();
// 根据你输入的成绩判断你是否能进入决赛
if (runScore < 10) {
System.out.println("恭喜你,进入决赛");
// 进入决赛后,根据性别进行分组
System.out.println("请输入你的性别:");
String gender = sc.next();
if (gender.equals("男")) {
System.out.println("进入男子决赛组");
} else if (gender.equals("女")) {
System.out.println("进入女子决赛组");
} else {
System.out.println("性别输入错误");
}
} else {
System.out.println("很遗憾,没能进入决赛,继续努力");
}
sc.close();
}
}
package test;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc1 = new Scanner(System.in);
System.out.println("请输入天气:");
String weather = sc1.next();
Scanner sc2 = new Scanner(System.in);
System.out.println("请输入温度:");
double temp = sc2.nextDouble();
if (weather.equals("晴天")) {
if (temp > 30) {
System.out.println("室内游泳");
} else if (temp <= 30) {
System.out.println("室外篮球");
}
} else if (weather.equals("雨天")) {
if (temp > 25) {
System.out.println("室内羽毛球");
} else if (temp <= 25) {
System.out.println("在家学习,敲代码");
}
}
}
}
Math.random()获取随机数
随机产生一个[0.0,1.0)之间的值
random()*10:随机产生一个[0.0,10.0)之间的值
规律:随机产生一个[num1,num2)(num2>num1)之间的int类型的数
==> (int)(Math.random()*(num2-num1)+num1);
package test;
import java.util.Scanner;
public class Test02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.println("请输入4位卡号:");
int cardId = sc.nextInt();
int baiWei = cardId / 100 % 10;
int random = (int) (Math.random() * 10);
System.out.println("中奖号码:" + random);
if (baiWei == random) {
System.out.println("中奖");
} else {
System.out.println("没中奖!");
}
}
}
switch选择结构
语法结构:
switch(表达式){
case 值1:
//代码块1;
break;
case 值2:
//代码块2;
break;
........
case 值n:
//代码块n;
break;
default:
//代码块m;
break;
}
执行规律:
根据表达式的结果,取匹配case后面的值,表达式的结果与哪个值相同,就执行里面的代码块。执行完代码块后执行break,结束整个Switch选择结构
如果表达式的值与所有的case后面的值都不相同,就执行default里面的代码块,然后执行break(这个break可以省略)结束整个Switch选择机构
注意:
1)表达式的值只能是一个等值(具体的值,不是一个范围)
2)表达式的值可以是byte short int char 枚举类型 String类型(JDK1.5还是1.7版本之后开始支持?)
3)case值不能相同
4)case里面break的作用是用来结束Switch选择结构,如果在case中没有写break,那么会造成case穿透现象(一直向下执行,一直到遇到break或者执行到最后的default)。case穿透现象可以合理使用
5)default语句块是当表达式的值与所有case值不相同的时候执行,default也可以省略不写。default可以写在任意位置,一般写在Switch结构最后
package test;
import java.util.Scanner;
public class Test03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
System.out.println("请输入名次:");
int minCi = sc.nextInt();
switch (minCi) {
case 1:
System.out.println("参加麻省理工大学组织的一个月夏令营");
break;
case 2:
System.out.println("惠普笔记本电脑一部");
break;
case 3:
System.out.println("移动硬盘一个");
break;
default:
System.out.println("没有奖励");
break;
}
System.out.println("继续努力");
}
}