Java——黑马Java学习作业——day03运算符

发布时间:2024年01月06日

目录

知识点

题目1(训练)

训练提示

解题方案

操作步骤

参考答案

题目2(训练)

训练提示

解题方案

操作步骤

参考答案

题目3(综合)

训练提示

解题方案

操作步骤

参考答案

题目4

题目5:

题目6:

题目7:


知识点

运算符

题目1(训练)

身高是具有遗传性的,子女的身高和父母的身高有一定的关系。假定,父母和子女的身高遗传关系如下:

儿子身高(厘米)=(父亲身高+母亲身高) ×1.08÷2

女儿身高(厘米)=(父亲身高×0.923+母亲身高) ÷2

现有父亲身高177CM,母亲身高165CM。求子女身高分别预计为多少?

训练提示

  1. 已知的父母身高如何用代码体现?

  2. 题目中的公式如何转化为代码?

解题方案

  1. 使用变量的定义和算术运算符完成本题

操作步骤

  1. 定义小数变量代表父亲身高

  2. 定义小数变量代表母亲身高

  3. 通过儿子身高计算方式计算儿子身高

  4. 通过女儿身高计算方式计算女人身高

参考答案

public class Demo01 {
 ? ?public static void main(String[] args) {
 ? ? ? ?//1.定义父亲身高
 ? ? ? ?double father = 177;
 ? ? ? ?//2.定义母亲身高
 ? ? ? ?double mother = 165;
 ? ? ? ?//3.利用公式计算儿子身高
 ? ? ? ?double son = (father + mother) * 1.08 / 2;
 ? ? ? ?//4.利用公式计算女儿身高
 ? ? ? ?double daughter = (father * 0.923 + mother) / 2;
        //5.打印结果
 ? ? ? ?System.out.println("儿子预计身高" + son + "厘米");
 ? ? ? ?System.out.println("女儿预计身高" + daughter + "厘米");
?
 ?  }
}

题目2(训练)

红茶妹妹有21元钱,她攒了几天钱之后自己的钱比原来的两倍还多三块。绿茶妹妹有24元钱,她攒了几天钱之后自己的钱正好是原来的两倍。那么红茶和绿茶现在的钱一样多,请问对么?

训练提示

  1. 用什么知识点来计算她们现在的钱有多少?

  2. 如何对比两个人的钱数?

解题方案

  1. 使用赋值运算符和算术运算符计算各自的钱,使用比较运算符对比大小

操作步骤

  1. 定义红茶妹妹原来的钱为整数变量

  2. 定义绿茶妹妹原来的钱为整数变量

  3. 使用赋值运算符和算术运算符计算其现有的钱

  4. 使用比较运算符对数值做出比较

参考答案

public class Demo2 {
 ? ?public static void main(String[] args) {
 ? ? ? ?//1.定义红茶妹妹原来的钱
 ? ? ? ?int red = 21;
 ? ? ? ?//2.定义绿茶妹妹原来的钱
 ? ? ? ?int green = 24;
 ? ? ? ?//3.求红茶妹妹现有的钱
 ? ? ? ?red = red * 2 + 3;
 ? ? ? ?//4.求绿茶妹妹现有的钱
 ? ? ? ?green *= 2;
 ? ? ? ?//5.判断并输出两个人的钱是否相等
 ? ? ? ?System.out.println(red == green);
 ?  }
}

题目3(综合)

某小伙想定一份外卖,商家的优惠方式如下:鱼香肉丝单点24元,油炸花生米单点8元,米饭单点3元。订单满30元8折优惠。鱼香肉丝优惠价16元,但是优惠价和折扣不能同时使用。那么这个小伙要点这三样东西,最少要花多少钱?

训练提示

  1. 有两种购买方式,一种是不使用优惠价,另一种是使用优惠价。分别计算花费后,对两种方式的花费作对比。

解题方案

  1. 使用算术运算符、赋值运算符和三元运算符联合完成本题

操作步骤

  1. 使用算术运算符求出不使用优惠时的总价

  2. 使用三元运算符判断总价是否满足打折条件,并求出折后总价

  3. 使用算术运算符求出使用优惠价时的总价

  4. 使用三元运算符判断最终更合算的购买方式和花费

参考答案

public class Demo3 {
 ? ?public static void main(String[] args) {
 ? ? ? ?//1.求不使用优惠时的总价
 ? ? ? ?double money1 = 24 + 8 + 3;
 ? ? ? ?//2.判断折后总价
 ? ? ? ?money1 = (money1 >= 30 ? money1 * 0.8 : money1);
 ? ? ? ?//3.求使用优惠时的总价
 ? ? ? ?double money2 = 16 + 8 + 3;
 ? ? ? ?//4.判断两种花费哪个更少
 ? ? ? ?double money = money1 < money2 ? money1 : money2;
 ? ? ? ?//5.打印最终花费
 ? ? ? ?System.out.println(money);
 ?  }
}

题目4

看代码说结果,不要去运行。

System.out.println(2.0*(5/2));

  1. 4

  2. 4.0

  3. 5

  4. 5.0

  5. 以上答案都不对

讲解:

答案:4.0

在Java中整数相除结果为整数,所以5/2结果是2

2.0乘以2,结果就是4.0

题目5:

看代码说结果,不要去运行。

String firstName = "Tomas";
String familyName = "Zhang";
打印firstName + familyName 之后是什么结果?
"TomasZhang"
因为字符串相加其实是进行拼接操作

题目6:

需求:

数字6是一个真正伟大的数字,键盘录入两个整数。
?
如果其中一个为6,最终结果输出true。
?
如果它们的和为6的倍数。最终结果输出true。
?
其他情况都是false。

代码示例:

package com.yaqi.demo.Test;

import java.util.Scanner;

public class Test3 {
    public static void main(String[] args) {
           /*数字6是一个真正伟大的数字,键盘录入两个整数。
        如果其中一个为 6,最终结果输出true。
        如果它们的和为 6的倍数。最终结果输出true。
        其他情况都是false。*/

        //分析:
        //1.键盘录入两个整数
        // 变量a   变量b

        //2.a == 6 || b == 6 || (a + b) % 6 == 0
        //如果满足其中一个,那么就可以输出true

        //键盘录入两个数字
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个整数");
        int number1 = sc.nextInt();
        System.out.println("请输入第二个整数");
        int number2 = sc.nextInt();

        //可以短路逻辑运算符去链接三个判断
        boolean result = number1==6||number2 == 6||(number1+number2)%6 ==0;
        System.out.println(result);


    }
}

题目7:

需求:

键盘录入一个三位数,求这个三位数每一位的数字和。

举例:

键盘录入123。那么每一位数字相加为:1 + 2 + 3,和为:7。

代码示例:

import java.util.Scanner;
public class Test {
 ? ?public static void main(String[] args) {
 ? ? ? ?Scanner sc = new Scanner(System.in);
 ? ? ? ?System.out.println("请输入一个三位数");
 ? ? ? ?int number = sc.nextInt();
 ? ? ? ?int ge = number % 10;
 ? ? ? ?int shi = number / 10 % 10;
 ? ? ? ?int bai = number / 100 % 10;
?
 ? ? ? ?int sum = ge + shi + bai;
 ? ? ? ?System.out.println(sum);
 ?  }
}

文章来源:https://blog.csdn.net/pangyaqi/article/details/135411820
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。