文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

头歌(educoder)实训作业题目及答案分享 ——1-3 Java入门 - 运算符和表达式

2023-10-21 20:25

关注

 📋个人简介

📜个人简介 :
 作者简介:大家好,我是Passenger.n
 支持一下:点赞👍+收藏🌟+留言📪
📣 系列专栏:java基础🍁
✉️格言:花有重开日,人无再少年!🌞

我的心声

万事开头难,既然迈开了这一步,那就坚持走下去!
这是我新的一篇博客,希望萌新看了有收获,大佬看了给指路😝


目录

 📋个人简介

​我的心声

🍄第1关:算数运算符

第一题任务要求:

第一题参考代码:

🐳第2关:关系运算符

第二题任务要求:

第二题参考代码:

💦第3关:逻辑运算符

第三题任务要求:

 第三题参考代码:

⏳第4关:三元运算符

第四题任务要求:

 第四题参考代码:

🐳第5关:运算符的优先级

第五题任务要求:

第五题参考代码:

🐳第6关:选择自测题

第六题任务要求:

         第六题参考代码:

💻 结语


🍄第1关:算数运算符

第一题任务要求:

本关需要你使用Java程序完成对两个数的运算,效果如下:

在我们的生活中,我们会经常碰到两个数的加,减,乘,除,取模运算,那么我们如何在计算机当中,通过计算机语言,让计算机来代替我们来完成此项功能呢?跟着我的步骤来一步步命令计算机完成此任务吧!

算术运算符主要用于进行基本的算术运算,如加法、减法、乘法、除法等。 Java 中常用的算术运算符:

其中,++--既可以出现在操作数的左边,也可以出现在右边,但结果是不同的,如:

输出的结果如图:

输出的效果图如下图:

Java当中的除法运算相比较其他运算符来说有点特殊,在这里将分为两种情况依次说明其用法,当两个操作数是int类型时的相除,当两个操作数是float或者double类型时的相除,下面请看具体示例: 用法如下:

int i=11/2;//结果是5,因为i是整数,所以除法运算的结果会省略后面的小数点int i=10/2;//结果是5//当两个操作数是float或者double类型时,就是正常的除法运算,如:double i=9.8;double j=3.2;double result=i/j;System.out.println(result);//此时result的值为3.0625

也叫求余数,求余的字面意思就是求被除数除以除数,整除后还余下多少? 用法如下:

int i=11%2;//这里i=1;表示11被2整除5次还余1.//求余的正负号说明:主要是取决于前面一个数是正数还是负数,不管后面数。如下:int i=-11%2;//这里i=-1int i=10%2;//这里i=0;就是10被2刚好整除5次,没有余数。

start-end区域定义两个变量ab,然后使用上一章节学到的扫描仪(Scanner)获取程序输入的数据并赋值给ab变量,使程序能输出如下效果:

机器会对你编写的代码进行若干次测试: 第一次测试会输入数据:10,4; 需要你的程序输出: 两数相加的结果为:14 两数相减的结果为:6 两数相乘的结果为:40 两数相除的结果为:2 两数取余数的结果为:2

第二次测试会输入数据:35; 需要你的程序输出: 两数相加的结果为:8 两数相减的结果为:-2 两数相乘的结果为:15 两数相除的结果为:0 两数取余数的结果为:3

注意:头歌平台会输入数据,但是输入的数据不会显示在输出结果中,所以标红部分是机器输入的部分,不需要你进行输出,其余部分都需要你进行打印输出。


以上是实验说明,请尽量根据说明写出代码吧!若有不会的请参考以下代码:


第一题参考代码:

package step1;import java.util.Scanner;public class Cal {public static void main(String[] args) {Scanner input = new Scanner (System.in); //声明int sum;int cha;int ji;int shang ;int yu;System.out.println("请输入第一个整数");int i =input.nextInt();System.out.println("请输入第二个整数");int j =input.nextInt();sum=i+j;cha=i-j;ji=i*j;shang=i/j;yu=i%j;System.out.println("两数相加的结果为:"+sum);System.out.println("两数相减的结果为:"+cha);System.out.println("两数相乘的结果为:"+ji);System.out.println("两数相除的结果为:"+shang);System.out.println("两数取余数的结果为:"+yu);}}

🐳第2关:关系运算符

第二题任务要求:

本小节中你将使用Java当中的各种关系运算符来判断两数的关系,运行效果图如下:

生活中,我们经常会判断两个数的关系,如哪个数大,哪个数小,两个数是否相等的情况,同理,在我们的编程世界中,这种现象更是频繁,所以,此节,我们主要来学习一下Java当中的一些常见的一些关系运算符。

下表为Java支持的关系运算符。 表格中的实例整数变量A的值为10,变量B的值为20:如图。

为了加强程序的交互性,你可以创建一个扫描仪接受用户随机的输两个数进行比较,如图:

输出效果图,如图:

使用本关所学的关系运算符,在start-end区域实现程序的输出,预期的输出请查看测试说明。

机器会对你编写的代码进行若干次测试: 第一次测试会输入数据:20,34; 需要你的程序输出: a==b=false a!=b=true a>b=false a b>=a=true b<=a=false 第一次测试会输入数据:-8,-18; 需要你的程序输出: a==b=false a!=b=true a>b=true a b>=a=false b<=a=true


以上是实验说明,请尽量根据说明写出代码吧!若有不会的请参考以下代码:


第二题参考代码:

package step2;import java.util.Scanner;public class Relative {public static void main(String[] args) {        Scanner sc=new Scanner(System.in);                        // a==b=false// a!=b=true// a>b=false// a=a=true// b<=a=false    //    System.out.println("请输入第一个数字:");int a=sc.nextInt();    //    System.out.println("请输入第二个数字:") ;int b=sc.nextInt();         System.out.println("a==b"+ "="+(a==b)) ;         System.out.println("a!=b"+ "="+(a!=b)) ;         System.out.println("a>b"+ "="+(a>b)) ;         System.out.println("a=a"+ "="+(b>=a)) ;           System.out.println("b<=a"+"="+(b<=a)) ;         }}

💦第3关:逻辑运算符

第三题任务要求:

  • 任务描述

本关任务:使用逻辑运算符修改程序的输出结果。

  • 相关知识

生活中,我们常常会遇到这样的问题,如我们在报驾校的同时,先要满足两个条件,一个是年满18周岁,另一个是不能是色盲,要同时满足这两个条件,我们才能报名。像诸如此类的现象就是今天我们所要讲的逻辑运算符。

  • 什么是逻辑运算符

逻辑运算符用于测试两个操作数之间的逻辑关系,且这两个操作数必须是布尔类型的(如关系表达式),得到的结果也是布尔类型的,通过逻辑运算符连接的结果为boolean类型的变量或表达式叫做逻辑表达式。

  • 常见逻辑运算符

我们可以从“投票选举”的角度理解逻辑运算符:

  1. 与:要求所有人都投票同意,才能通过某议题;
  2. 或:只要求一个人投票同意就可以通过某议题;
  3. 非:某人原本投票同意,通过非运算符,可以使其投票无效;
  4. 异或:有且只能有一个人投票同意,才可以通过某议题。
  • 逻辑与运算符的用法

用法如下:

boolean a = false,b = true;System.out.println(!a);System.out.println(a&&b);System.out.println(a||b);System.out.println(a^b);

输出结果: true false true true

结合算数运算符:

int a = 10 , b = 5;System.out.println( !(a-b > 6) );System.out.println( (a-b==5)&&(a+b>15));

输出结果: true false

  • 编程要求

目前程序的输出不符合预期,使用本小节所学知识,在start-end区域中修改代码,实现程序预期的输出,预期输出请查看测试说明。

  • 测试说明

按照相关要求编写程序后,我会对你的程序进行测试。

预期输入:truefalsetrue

预期输出: false false true true

预期输入:true,false,false

预期输出: false false false true


以上是实验说明,请尽量根据说明写出代码吧!若有不会的请参考以下代码:


 第三题参考代码:

package step3;import java.util.Scanner;public class testLogic {public static void main(String[] args) {        Scanner sc=new Scanner(System.in);  boolean a=sc.nextBoolean();        boolean b=sc.nextBoolean();        boolean c=sc.nextBoolean();                System.out.println(!a);System.out.println(a&&b);       System.out.println(c||b);   System.out.print(a^b);}}

⏳第4关:三元运算符

第四题任务要求:

  • 任务描述

本小节你需要完成输入一个年份,编写一个程序来判断当前输入的年份是否为闰年,效果图如下:

  • 相关知识

什么是三元运算符

因为三元运算符的操作数有三个,所以称为三元运算符,三元运算符又称条件运算符,是“?”和“:”符号组合,根据条件执行两个语句中的其中一个。它的语法如下: 语法:

  1. 条件表达式 ? 条件为真返回的结果 : 条件为假返回的结果

使用三元运算符

例如:

结果为:

4

5

较为复杂的使用方式:

boolean result;int a = 4,b=10;result = (a%4==0)&&(b/2==1) ? true : false;System.out.println(result);

结果为:

false

  • 编程要求

start-end区域中补充代码,使用三元运算符判断输入的year变量是否为闰年,为了完成判断是否为闰年,你需要首先了解闰年的判断公式是什么,在这里给出闰年的判断公式如下:

年份能被400整除。

年份能被4整除,但不能被100整除。 所以,在这里你还需要注意逻辑关系运算符的运用。

效果如下:

  • 测试说明

测试输入:2012 预期输出:2012是否为闰年:true

测试输入:2013 预期输出:2013是否为闰年:false


实践才能出真知,一切伟大的构想都源于实践!以上是实验说明,请尽量根据说明写出代码吧!若有不会的请参考以下代码:


 第四题参考代码:

package step4;import java.util.Scanner;public class TestYear {public static void main(String[] args) {Scanner sc=new Scanner(System.in);        int year=sc.nextInt();        boolean result;                        result= ((year%4==0&&year%100!=0)||(year%400==0))?true:false;                      System.out.println(year + "年是否为闰年:" + result);                }}

 

🐳第5关:运算符的优先级

第五题任务要求:

  • 任务描述

运用运算符的优先级修改本关代码,输出指定数据,效果图如下:

  • 相关知识

生活中,我们经常会遇到算数运算符的混合运算,如在我们的数学当中加减乘除混合运算时,我们则会根据混合运算的规律,先算乘除,在算加减,有圆括号的则先算圆括号里,同理,在我们Java当中,也有同样的优先级运算。

  • Java中运算符的优先级

Java中常见的运算符的优先级:

级别为 `1` 的优先级最高,级别 `11` 的优先级最低。譬如,`x = 7 + 3 * 2 ` 得到的结果是 `13` “先乘后加”嘛!

PS:大家没必要去死记运算符的优先级顺序,实际开发中,一般会使用小括号辅助进行优先级管理。例如:

分析:小括号优先级最高,因此。 1、 执行 a + 18 ,结果为 30 2、 执行( a + 18 ) % 4 取模,结果为 2 3、 执行 a * ( ( a + 18 ) % 4 ),结果为 24`

  • 编程要求

现在运行start-end区域中的代码,输出结果和效果图是不一致的,需要你修改Begin-End区域内代码,使你的程序输出如下效果:

  • 测试说明

我会对你的程序进行若干次测试;

第一次输入:102

预期输出: 24 2 28

第二次输入:53

预期输出: 16 2 17


实践才能出真知,一切伟大的构想都源于实践!以上是实验说明,请尽量根据说明写出代码吧!若有不会的请参考以下代码:


第五题参考代码:

package step5;import java.util.Scanner;public class TestDemo5 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("输入:");int m=sc.nextInt();int n=sc.nextInt();System.out.println("输出:");        System.out.println( (m+n)*2 );        System.out.println( (m-n)%3 );System.out.println((m-n)/2 + (m+n)*2);}}

🐳第6关:选择自测题

第六题任务要求:

  • 任务描述

本关任务:运算符掌握情况测试。

  • 编程要求

根据相关知识,按照要求完成右侧区域内选择题任务,包含单选题和多选题。

  • 测试说明

选择正确的答案,全对则通过测试。


下面是选择题,请尽量根据以学的知识作答!若有不会的请参考后面的答案:


  • 已知:(5>10)||(3<8)的结果是()。

    A、非0
    B、true
    C、0
    D、false
  • 已知:10,6都是int类型,10/6的结果为()。

    A、1
    B、1.6
    C、1.7
    D、2
  • 已知:a=3,b=4,c=5;下列表达式为false的是()。

    A、(ac)
    B、(a<=b)&&(b<=c)
    C、(a>=b)||(b>c)
    D、(a==b)||(b!=c)
  • 已知:int a=5,b=7;表达式a A、0
    B、5
    C、7
    D、12

  • 运算符优先级别排序正确的是()

    A、由高向低分别是:()、 ! 、算术运算符、关系运算符、逻辑运算符、赋值 运算符;
    B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、 ! 、逻辑 运算符;
    C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、 ! 、赋值 运算符;
    D、由高向低分别是:()、 ! 、关系运算符、赋值运算符、算术运算符、逻辑 运算符;
  • int a=10,b=4,c=20,d=6,int result1= a + b + c + d;int result2= a + c % b;int result3= a++ * b + c * - -d

    以上的运算结果分别为:

    A、40,10,140
    B、10,40,140
    C、10,140,40
    D、140,40,10

第六题参考代码:

1.B

2.A

3.C

4.C

5.A

6.A

💻 结语

时隔很久我又回来了,一定得坚持住!如果没有还请诸位多多监督!
感谢大家的阅读 如果在内容方面有什么问题,可以在评论区或私信告诉我!

如果本篇帮助到了屏幕前的你 希望给博主
一个免费的赞👍+评论✉️ +收藏💻!!!
感谢大家的支持!

来源地址:https://blog.csdn.net/weixin_46468815/article/details/129916219

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯