Java小课堂 第三章 分支结构程序设计

3.1IF结构【重点】

为什么需要使用IF结构?我们同一个问题来阐述:

小明上学了,家长为了激励小明能够好好学习,取得优异的成绩,决定采用奖励制度来提升孩子的学习热情,孩子考试如果能够达到100分,那么就奖励一台IPAD游戏机。

我们接下来,就使用IF结构来解决该问题,代码如下:

public class Demo1 {

public static void main(String[] args) {

Scanner scanner=new Scanner(System.in);

System.out.println("请输入小明本次考试的成绩:");

int score=scanner.nextInt();

if(score==100) {

System.out.println("奖励小明IPAD一台!");

}

System.out.println("程序结束!");

}

}

在本案例中,问题的关键是,小明的成绩是否达到了奖励的条件,在编码中,条件表达式的最终结果决定了是否会执行进行奖励的语句块。

格式:

if (布尔表达式)  {

语句块;

}

解释:以上代码中,if是关键字,括弧中的布尔表达式如果成立(值为true),那么就执行相应语句块,否则跳过语句块,执行后续的代码。

3.2Debug调式【难点】

在之前的案例中,如果条件不成立,将不会执行相应的代码块,但是我们无法用肉眼观察到,如果想详细观察程序的运行流程,一般我们需要使用到Debug调试。

接下来,我们使用之前的案例进行Debug调试,步骤如下:

第一步:找到需要观察的第一条语句,并设置断点。

第二步:采用调试模式运行程序。


第三步:使用F6键单步执行,并观察程序的执行过程,最终发现,程序在不满足条件的情况下,跳过了if结构的语句块,调试完毕。

3.3IF ELSE 结构【重点】

小明爸爸,采用之前的奖励方案后,发现孩子并没有获得过奖励,原因是奖励的条件难以达成,孩子的积极性并没有提升,所以决定改良奖励方案:

如果小明考试的成绩达到了90分以上,就奖励IPAD一台,但是如果没有达到90分,要进行处罚,处罚小明面壁思过1小时。

由于奖励方案的变化,需要我们使用新的IF ELSE结构来时实现,代码如下:

public class Demo2 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入小明的考试成绩:");

int score = scanner.nextInt();

if (score >= 90) {

// 如果条件成立,执行此处代码块

System.out.println("奖励小明IPAD一台!");

} else {

// 如果条件不成立,执行此处代码块

System.out.println("处罚小明面壁思过一小时!");

}

}

}

格式:

if (布尔表达式) {

语句块1;

} else{

语句块2;

}

解释:如果条件表达式的值为true,那么就执行语句块1,否则执行语句块2。

3.4、IF ELSE IF … ELSE结构【重点】

小明爸爸,采用之前的改良的奖励方案后,发现孩子的积极性有限,但是效果不是十分显著,所以决定再次改良奖励方案,采用阶梯式奖惩方案:

如果小明考试的成绩达到了100分,就奖励IPAD一台;

如果小明考试的成绩达到了90分以上,就奖励小霸王游戏机一台;

如果小明的成绩达到了80分以上,就奖励KFC大餐一顿;

如果小明的成绩是60以上,不做任何奖励,给于批评教育;

如果小明的成绩是60分以下,处罚小明“木棍炒肉片”一顿。

由于奖励方案的变化,需要我们使用新的IF ELSE IF… ELSE结构来时实现,代码如下:

public class Demo3 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入小明本次考试的成绩:");

int score = scanner.nextInt();

if (score == 100) {

System.out.println("奖励小明IPAD一台!");

} else if (score >= 90) {

System.out.println("奖励小明小霸王游戏机一台!");

} else if (score >= 80) {

System.out.println("奖励小明KFC大餐一顿!");

} else if (score >= 60) {

System.out.println("成绩不理想,批评教育,还需加油!");

} else {

System.out.println("不及格,处罚小明“木棍炒肉片”一顿!");

}

        //红色代码部分可以替换成如下代码,执行效果相同

else if (score<50) {

System.out.println("不及格,处罚小明“木棍炒肉片”一顿!");

}

}

}

格式:

<if (布尔表达式1) {

语句块1;

}> [ else if (布尔表达式2) {

语句块2;

}] [ else if (布尔表达式...) {

语句块...;

}] [ else if (布尔表达式N) {

语句块N;

}] [ else {

语句块N+1;

} ]

解释:

如果IF语句块的布尔表达式的值为true,那么就执行对应的语句块,后续ELSE IF语句块和ELSE语句块将忽略执行;

如果IF语句块的条件表达式的值为false,那么就执行后续的ELSE IF语句块,后续ELSE IF语句块和ELSE语句块将忽略执行;

如果所有条件表达式的值都为false,那么执行else部分。

  • 18
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值