使用多重if选择结构
多个if条件进行判断:
语法:
if(条件1){
执行语句1;
}else if(条件2){
执行语句2;
}else if(条件3){
执行语句3;
}else if (条件4)……
流程图:
我们来写个好玩的,对暗号:
public class Test01 {
public static void main(String[] args) {
System.out.println("请输入暗号:");
Scanner input = new Scanner(System.in);
String anHao = input.next();
//判断字符串是否相等用.equals("判断内容")
if (anHao.equals("天王盖地虎")){
System.out.println("鬼子二百五");
System.out.println("自己人,进!");
}else if (anHao.equals("长江长江,我是黄河")){
System.out.println("红薯红薯,我是土豆");
System.out.println("自己人,进!");
}else if (anHao.equals("力拔山兮气盖世")){
System.out.println("喝了大力出奇迹");
System.out.println("自己人,进!");
}else{
System.out.println("撤退,有奸细!");
}
}
}
分支嵌套结构
流程图:
写个练习:
现在举行比赛,百米跑进10s的运动员才能进去决赛,根据性别分为男子组和女子组。
public class Test01 {
public static void main(String[] args) {
System.out.println("输入您的成绩(秒数):");
Scanner input = new Scanner(System.in);
double s = input.nextDouble();
//用S接收成绩
if (s<10){
System.out.println("请输入您的性别:男/女");
String sex = input.next();
if (sex.equals("男")){
System.out.println("您的分组是男子组");
}else{
System.out.println("您的分组是女子组");
}
}else{
System.out.println("您暂时未进入决赛,继续加油");
}
}
}
通过例子也是比较好理解就是循环里面套循环。
Switch选择结构
只能用于等值判断,
if和switch比较来说,所有switch能完成的if都能完成。
语法:
switch(表达式){
case常量1;
语句;
break;
case常量2;
语句;
break;
……
default;语句;
}
流程图:
写个例子一看就明白:
public class Test01 {
public static void main(String[] args) {
System.out.println("请输入你的名次:");
Scanner input = new Scanner(System.in);
int num = input.nextInt();
switch (num){
case 1:
System.out.println("奖励宾利一辆");
break;
case 2:
System.out.println("奖励北京一日游");
break;
case 3:
System.out.println("奖励一百块");
break;
default:
System.out.println("不是前三名出去");
}
}
}
对于一些重复度高的等值判断会比较快捷,稍微改一改也能接受字符串:
String num = input.next();
switch (num){
case "一":
System.out.println("奖励宾利一辆");
break;
case "二":
System.out.println("奖励北京一日游");
break;
case "三":
System.out.println("奖励一百块");
break;
default:
System.out.println("不是前三名出去");
}