Java学习笔记2.4.2 选择结构 - 双分支结构

Posted howard2005

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java学习笔记2.4.2 选择结构 - 双分支结构相关的知识,希望对你有一定的参考价值。

文章目录

零、本讲学习目标

  1. 了解双分支结构的语法
  2. 会使用双分支结构解决问题

一、双分支结构概念

  • 双分支结构,条件满足时执行一组操作,不满足时执行另一组操作

二、双分支结构使用

(一)语法格式

if (条件) 
   语句组1
 else 
   语句组2

(二)执行情况

  • 双分支结构就是我们通常讲的“花开两朵,各表一枝”或者“鱼和熊掌不可兼得”。语句组1与语句组2,根据条件成立与否,只有其中一个会被执行。

(三)案例演示

任务1、计算三角形面积

提示:两步(判断 + 计算)
(1)利用三边关系定理判断能否构成三角形;
三边关系定理:任意两边之和大于第三边。
(2)如果能构成三角形,利用海伦公式来计算。
三边为 a , b , c a, b, c a,b,c,半周长 p = a + b + c 2 p=\\displaystyle \\fraca+b+c2 p=2a+b+c
面积 a r e a = p ( p − a ) ( p − b ) ( p − c ) area=\\displaystyle \\sqrtp(p-a)(p-b)(p-c) area=p(pa)(pb)(pc)

package net.hw.lesson06;

import java.util.Scanner;

/**
 * 功能:计算三角形面积
 *       要判断能否构成三角形
 * 作者:华卫
 * 日期:2020年4月12日
 */
public class Example604 
    public static void main(String[] args) 
        // 声明部分
        double a, b, c, p, s;
        Scanner sc = new Scanner(System.in);

        // 输入部分
        System.out.print("a = ");
        a = sc.nextDouble();
        System.out.print("b = ");
        b = sc.nextDouble();
        System.out.print("c = ");
        c = sc.nextDouble();

        // 处理部分 + 输出部分
        if (a + b > c && b + c > a && c + a > b) 
            p = (a + b + c) / 2;
            s = Math.sqrt(p * (p - a) * (p - b) * (p - c));
            System.out.println("s = " + s);
         else 
            System.out.println(a + "、" + b + "、" + c + "无法构成三角形!");
        
    

运行程序,查看结果:


问题:判断条件能否换种花样呢?

说明:选择结构的条件是根据海伦公式(被开方数要非负)来确定的。
p > a ⇔ a + b + c 2 > a ⇔ a + b + c > 2 a ⇔ b + c > a p>a \\Leftrightarrow \\displaystyle \\fraca+b+c2>a \\Leftrightarrow a+b+c>2a \\Leftrightarrow b+c>a p>a2a+b+c>aa+b+c>2ab+c>a
p > b ⇔ a + b + c 2 > b ⇔ a + b + c > 2 b ⇔ c + a > b p>b \\Leftrightarrow \\displaystyle \\fraca+b+c2>b \\Leftrightarrow a+b+c>2b \\Leftrightarrow c+a>b p>b2a+b+c>ba+b+c>2bc+a>b
p > c ⇔ a + b + c 2 > c ⇔ a + b + c > 2 c ⇔ a + b > c p>c \\Leftrightarrow \\displaystyle \\fraca+b+c2>c \\Leftrightarrow a+b+c>2c \\Leftrightarrow a+b>c p>c2a+b+c>ca+b+c>2ca+b>c
由此可见,两种判断条件其实是等价的,只是表现形式不同而已。

同学们,将代码修改之后运行,看一看是否能得到相同的运行结果。

大家可以看一下完成同样任务的Python代码:

任务2、解决闰年判断问题


以上是关于Java学习笔记2.4.2 选择结构 - 双分支结构的主要内容,如果未能解决你的问题,请参考以下文章

java基础笔记

Java程序设计基础——选择结构(if双分支)

Java程序设计基础——选择结构(if双分支)

Java程序设计基础——选择结构(if双分支)

Java程序设计基础——选择结构(if双分支)

Java学习笔记2.4.1 选择结构 - 单分支结构