运算符练习

知识点

运算符

题目1(训练)

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

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

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

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

训练提示

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

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

解题方案

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

操作步骤

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

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

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

参考答案

package test;
​
public class test1 {
    public static void main(String[] args) {
        //身高是具有遗传性的,子女的身高和父母的身高有一定的关系。假定,父母和子女的身高遗传关系如下:
        //
        //儿子身高(厘米)[后写结果]=(父亲身高+母亲身高) ×1.08÷2[先写过程]
        //
        //女儿身高(厘米)=(父亲身高×0.923+母亲身高) ÷2
        //
        //现有父亲身高177CM,母亲身高165CM。求子女身高分别预计为多少?
​
        int fatherHeight = 177 ;
        int motherHeight = 165 ;
​
        double sonHeight = (fatherHeight + motherHeight) * 1.08 /2;
        double daughterHeight = (fatherHeight * 0.923 + motherHeight) /2;
​
        System.out.println(sonHeight);
        System.out.println(daughterHeight);
        
        System.out.println("^^");
    }
}
​

题目2(训练)

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

训练提示

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

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

解题方案

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

操作步骤

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

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

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

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

参考答案

package test;
​
public class test2 {
    public static void main(String[] args) {
        // 红茶妹妹有21元钱,
        // 她攒了几天钱之后自己的钱比原来的两倍还多三块。
        // 绿茶妹妹有24元钱,她攒了几天钱之后自己的钱正好是原来的两倍。
        // 那么红茶和绿茶现在的钱一样多,请问对么?
        int h1 = 21;
        int h2 = h1 * 2 + 3;
​
        int l1 = 24;
        int l2 = l1 * 2;
​
        boolean re = h2 == l2;
        System.out.println(re);
​
        String result = h2 == l2 ? "对" : "不对";
        System.out.println(result);
        
        System.out.println("^^");
    }
}
​

题目3(综合)

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

训练提示

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

解题方案

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

操作步骤

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

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

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

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

参考答案

package test;
​
public class test3 {
    public static void main(String[] args) {
        // 某小伙想定一份外卖,商家的优惠方式如下:
        // 鱼香肉丝单点24元,油炸花生米单点8元,米饭单点3元。
        // 订单满30元8折优惠。(*0.8,有小数要注意用double)
        // 鱼香肉丝优惠价16元,但是优惠价和折扣不能同时使用。
        // 那么这个小伙要点这三样东西,最少要花多少钱?
​
        // 分析: 第一个跟第二个比,定义一个temp转换器,将便宜的放进去,再拿去跟第三个比,不用考虑太多(例如第二便宜的是哪个),因为题目只要最便宜的那个
        // 然后做着做着发现只要比两个,这就更简单了
​
        // 第一个: 鱼香肉丝单点24元,油炸花生米单点8元,米饭单点3元。
        double first = (24 + 8 + 3) * 0.8;//28
        int second = 16 + 8 + 3;
​
        double re = first < second ? first : second;// int类型转double类型,小转大,隐式转换:前面补0
​
        System.out.println(re);
        
        System.out.println("^^");
    }
}
​

题目4:

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

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

  1. 4

  2. 4.0

  3. 5

  4. 5.0

  5. 以上答案都不对

4.0

题目5:

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

String firstName = "Tomas";
String familyName = "Zhang";
打印firstName + familyName 之后是什么结果?

TomasZhang

题目6:

需求:

数字6是一个真正伟大的数字,键盘录入两个整数。
​
如果其中一个为6,最终结果输出true。
​
如果它们的和为6的倍数。最终结果输出true。
​
其他情况都是false。
package test;
​
import java.util.Scanner;//1.1
​
public class test6 {
    public static void main(String[] args) {
//        数字6是一个真正伟大的数字,键盘录入两个整数。
//
//        如果其中一个为6,最终结果输出true。
//
//        如果它们的和为6的倍数。最终结果输出true。
//
//        其他情况都是false。
        Scanner scanner = new Scanner(System.in);//1.2
        System.out.println("录入两个整数");
        //1.3
        int a = scanner.nextInt();
        int b = scanner.nextInt();
​
        boolean re = a == 6 || b == 6 || (a + b) % 6 == 0;// > < >= <= == != 这些是关系运算符,要么输出true,要么输出false,可以直接输出,也可以用boolean类型间接输出
​
        System.out.println(re);
​
        System.out.println("^^");
    }
}
​

题目7:

需求:

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

举例:

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

package test;
​
import java.util.Scanner;
​
public class test7 {
    public static void main(String[] args) {
//        键盘录入一个三位数,求这个三位数每一位的数字和。
//
//        举例:
//
//        键盘录入123。那么每一位数字相加为:1 + 2 + 3,和为:6。
        Scanner scanner = new Scanner(System.in);
        System.out.println("录入一个三位数");
        int shu = scanner.nextInt();
        // 分析: 要用到公式了
        // 个位: /1%10
        // 十位: /10%10
        // 百位: /100%10
        // 千位: /1000%10
        // 万位: /10000%10
        // ...
​
        // so /1%10 /10%10 /100%10
        int ge = shu / 1 %10;
        int shi = shu / 10 %10;
        int bai = shu / 100 %10;
​
        int he = ge + shi + bai;
        System.out.println(he);
​
        System.out.println("^^");
    }
}
​

注: 题目出自黑马课程

  • 19
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值