(头哥)Java程序设计--------if 语句

第1关:判断闰年

任务描述

本关任务:学习使用 if 语句实现最简单的选择控制结构,并编写一个能判断闰年的程序。

相关知识

为了完成本关任务,你需要掌握:

  1. boolean 数据类型;
  2. 关系操作符;
  3. 逻辑操作符;
  4. if 语句;
  5. 什么是闰年。
boolean 类型

boolean 类型是 Java 的基本数据类型之一,其值为truefalse, 表示逻辑中的“真”和“假”。 我们可以声明 boolean 类型的变量来存储 boolean 值。 示例如下:

  1. boolean x = ture;
  2. System.out.print(x);

输出:true

关系操作符

在实际应用中,经常会出现数值的比较,因此 Java 提供了关系操作符,同通过关系操作符可以产生 boolean 类型的值。

示例如下:

  1. /** 代码清单 1 */
  2. boolean x = 2>1;
  3. System.out.print(x);

输出:true

逻辑操作符

boolean 类型的值本身也是可以作为操作数来进行运算的,Java 提供了逻辑运算符,来对 boolean 类型的值进行运算。如下展示了常用逻辑运算符的“真值表”:

示例如下:

  1. /** 代码清单 2 */
  2. boolean x = 2>1;
  3. boolean y = x || false
  4. System.out.print(y);

输出:true

if 语句

if 语句是通过根据布尔表达式的值来决定是否执行某些语句的控制方法,其基本结构如下:

  1. if (布尔表达式){
  2. 语句(组)
  3. }

布尔表达式本身是一个表达式,表达式的值是一个 boolean 类型的值: truefalse

  1. 1 == 1;// 表达式的值为 true
  2. 2 == 1;// 表达式的值为 false
  3. 2 != 1;// 表达式的值为 true

示例:

  1. /** 代码清单 3 */
  2. a = true;
  3. if(a){
  4. a = false
  5. }
  6. System.out.print(a)

输出:false

什么是闰年

年份分为平年和闰年,平年一年有 365 天,而闰年有 366 天。对于年份数能够被 4 整除而又不能被 100 整除,或是能够被 400 整除的,则为闰年。

编程要求

根据提示,在右侧编辑器 Begin-End 区域补充代码,计算并输出年份是否为闰年。具体要求如下:

  • 输入一个整型的数字作为年份,例如2009代表 2009 年;

  • 如果输入的年份是闰年,则输出字符串yes,末尾不换行;

  • 如果输入的年份不是闰年,则不做任何输出。

测试说明

平台会对你编写的代码进行测试:

测试输入:2000

预期输出: yes

测试输入:2001

预期输出:

  1. no

测试输入:1900; 预期输出:

  1. no

提示:

  1. 模运算符%可以得到除法的余数,示例如下:

    1. a = 101%5
    2. System.out.print(a)

    输出: 1

  2. 输出yes后不换行。


代码如下:

package step1;
import java.util.Scanner;

public class LeapYear {
    public static void main(String [] args){
        Scanner input = new Scanner(System.in);

        Integer year = input.nextInt();

        //请在指定位置填写代码。
        /********* Begin *********/
        if(year%4==0&&year%100!=0||year%400==0)
        {
            System.out.println("yes");
        }
        else
        {
            System.out.println("no");
        }

        /********* End *********/

        input.close();
    }
}

第2关:求实数绝对值

任务描述

本关任务:尝试使用多条 if 语句实现更选择功能,编程实现求的实数绝对值。

相关知识

为了完成本关任务,你需要掌握:

  1. 浮点数关系操作符;
  2. 相反数;
  3. 绝对值。
浮点数关系操作符

上一关中介绍了多种关系操作符,但都是对整型数值的比较。其实,这些关系操作符对浮点数也同样适用:

  1. /** 代码清单 1 */
  2. double a = 0.3;
  3. double b = 0.4;
  4. if(b>a){
  5. System.out.print("b>a")
  6. }

输出:b>a

但是,需要注意的是,对浮点数使用关系操作符,可能会有“陷阱”哦。这些“陷阱”正是来自浮点数的精度误差,尤其是使用==操作符的时候。

  1. /** 代码清单 2 */
  2. System.out.print(0.99999999999999999==1.0);

输出:true

代码清单 2中可以看出,逻辑上本来不相等的两个小数使用==操作符比较后,得到了true(意味着相等)的结果。我们在编程的过程中,一定要小心类似的情况。

相反数

相反数是一个数学上的概念,相信你一定对这个概念不陌生。

和为 0 的两个实数数互为相反数,例如 -1 的相反数是 1, 而 1 的相反数是 -1。同样的, -0.5 和 0.5 互为相反数,0 的相反数是 0 。

如何使用 Java 程序来计算相反数呢?很简单,只需用简单用“和为 0”的定义就能简单的计算出相反数了。

  1. /** 代码清单 3 */
  2. double a = 0.01;
  3. double b = 0-a;
  4. System.out.print(b);

输出 -0.01

绝对值

对于一个实数,我们求其绝对值的方法是:

  1. 首先判断其是否大于 0;
  2. 如果大于 0 , 则其绝对值就是它自己;
  3. 如果小于 0 , 则其绝对值是它的相反数;
  4. 如果等于 0 , 则其绝对值是 0。

编程要求

根据提示,在右侧编辑器 Begin-End 区域补充代码,实现计算实数绝对值的功能。具体要求如下:

  • 输入一个double类型的浮点数作为输入的实数;

  • 如果小于零,输出相应的相反数,末尾不换行;

  • 如果大于零,输出其本身,末尾不换行;

  • 对输入 0 值做特殊处理,如果输入是 0 , 则输出字符串 ops,末尾不换行 。

测试说明

平台会对你编写的代码进行测试:

测试输入:0.4

预期输出:

0.4

测试输入:-0.9

预期输出:

0.9

测试输入:0

预期输出:

ops

提示: 输出的最后不换行


代码如下:

package step2;
import java.util.Scanner;

public class Abs {
    public static void main(String [] args){
        Scanner input = new Scanner(System.in);

        double x = input.nextDouble();

        // 求 x 的绝对值。
        /********* Begin *********/
        if(x!=0)
        {
            if(x>0)
            {
                x=x;
            }
            else
            {
                x=-1*x;
            }
            System.out.println(x);
        }
        else
            System.out.print("ops");
        /********* End *********/

        input.close();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失棉的羊 .

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值