选择结构

本文详细介绍了Java编程中常见的条件选择结构,包括if、if-else、多重if、嵌套if和switch语句的用法,并通过代码实例展示了如何运用这些结构进行条件判断。同时,文中提到了调试技巧以及在编写条件语句时应注意的事项,如运算符优先级和使用括号提高可读性。最后,列举了在使用switch语句时可能出现的常见错误及解决方案。

三目运算

在这里插入图片描述
代码演示:

public class Three_Choose {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int num = input.nextInt();
        System.out.println(num+"是"+(num%2==0?"偶数":"奇数"));
    }
}

运行:
在这里插入图片描述

if分支结构

基本的if选择结构

if选择结构是根据条件判断结果选择不同的处理,因此结果必须是布尔值
if ( 条件 ) {
//代码块
}
代码演示:

public class Demo1 {
    public static void main(String[] args) {
        int score = 99;
        if(score>90){
            System.out.println("奖励iphone");
        }
        System.out.println("程序结束!");
    }
}

运行:
在这里插入图片描述
如何进行调试:
debug 第一步:打断点
第二步:debug运行
第三步: 单步运行

使用复杂条件的if选择结构

代码演示:

public class Demo2 {
    public static void main(String[] args) {
        int musicScore = 88;
        int javaScore = 99;
        if((javaScore>90 && musicScore>80) ||(javaScore==100&&musicScore>70)){
            System.out.println("俯卧撑10下");
        }
    }
}

运行:
在这里插入图片描述
结合运算符的优先级编写条件
最高的优先级:( )
最低的优先级:=
优先级:!> 算术运算符 > 关系运算符 > && > ||
复杂条件使用括号提高可读性

if-else选择结构

if ( 条件 ) {
//代码块1
}else {
//代码块2
}
代码演示:

public class Demo3 {
    public static void main(String[] args) {
        int score = 990;
        if(score>90){
            System.out.println("奖励iphone");
        }else{
            System.out.println("老师惩罚");
        }
        System.out.println("程序结束!");
    }
}

运行
在这里插入图片描述

多重if选择结构

if ( 成绩>=80) {
//代码块1
}
else if (成绩>=60) { //这里就不需要写成score>=60&&score<80
//代码块2
}
else {
//代码块3
}
代码演示:

public class Demo4 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个1-100的整数:");
        int num = input.nextInt();
        if(num>=80){
            System.out.println("成绩良好");
        }else if(num>=60){
            System.out.println("成绩中等");
        }else{
            System.out.println("成绩差");
        }
    }
}

运行:
在这里插入图片描述
注:使用多重if选择语句处理问题时需要注意顺序,else if可以有多个

嵌套if选择结构

if(条件1) {
if(条件2) {
代码块1
} else {
代码块2
}
} else {
代码块3
}
代码演示:

public class Demo6 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入您的50米成绩:");
        double time=input.nextDouble();
        if(time<10){
            System.out.println("恭喜您进入决赛,请输入您的性别:");
            String gender=input.next();
            if("男".equals(gender)){
                System.out.println("请移步男子更衣室");
            }else if("女".equals(gender)){
                System.out.println("请移步女子更衣室");
            }else {
                System.out.println("确定没输入错进入人妖组");
            }
        }else{
            System.out.println("决赛无缘!");
        }
        System.out.println("程序结束!");
    }
}

switch选择结构

switch (表达式) {
case 常量 1:
语句;
break;
case 常量 2:
语句;
break;

default:
语句;
}
代码演示:

public class Demo8 {
    public static void main(String[] args) {
        int rank=1;
        switch(rank){
            case 1:
                System.out.println("参加麻省理工夏令营");
                break;
            case 2:
                System.out.println("惠普笔记本");
                break;
            case 3:
                System.out.println("移动硬盘");
                break;
            default:
                System.out.println("没有奖励");
        }
    }
}

运行:
在这里插入图片描述

常见错误

int mingCi = 1;
 switch (mingCi){
	    case 1:
                System.out.println("参加麻省理工大学组织的1个月夏令营");               
        case 2:
                System.out.println("奖励惠普笔记本电脑一部");                
        case 3:
                System.out.println("奖励移动硬盘一个");                
        default:
                System.out.println("没有任何奖励 ");
 }

运行后全部打印出来,因此在每个case后不要忘记写break;
在这里插入图片描述

int mingCi = 1;
switch (mingCi){
        case 1:
                System.out.println("参加麻省理工大学组织的1个月夏令营");
        case 2:
                System.out.println("奖励惠普笔记本电脑一部");
        case 2:
                System.out.println("奖励移动硬盘一个");
        default:
                System.out.println("没有任何奖励 ");
}

Case后的常量值不能相同
default块顺序可以变动,但要注意其执行顺序。通常,default块放在末尾,也可以省略

switch与多重if

相同点:都是用来处理多分支条件的结构
不同点:switch只能处理等值条件判断的情况
多重if没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况

总结:
if选择结构,包括以下形式
基本if选择结构:可以处理单一或组合条件的情况
if-else选择结构:可以处理简单的条件分支情况
多重if选择结构:可以处理分段的条件分支情况
嵌套if选择结构:可以处理复杂的条件分支情况
switch选择结构
多重分支并且条件判断是等值判断的情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值