头歌Java入门 - 运算符和表达式
第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=-1
int i=10%2;//这里i=0;就是10被2刚好整除5次,没有余数。
编程要求
在start-end
区域定义两个变量a
和b
,然后使用上一章节学到的扫描仪(Scanner
)获取程序输入的数据并赋值给a
,b
变量,使程序能输出如下效果:
测试说明
我会对你编写的代码进行若干次测试: 第一次测试会输入数据:10
,4
; 需要你的程序输出: 两数相加的结果为:14
两数相减的结果为:6
两数相乘的结果为:40
两数相除的结果为:2
两数取余数的结果为:2
第二次测试会输入数据:3
,5
; 需要你的程序输出: 两数相加的结果为:8
两数相减的结果为:-2
两数相乘的结果为:15
两数相除的结果为:0
两数取余数的结果为:3
注意:平台会输入数据,但是输入的数据不会显示在输出结果中,所以标红部分是我输入的部分,不需要你进行输出,其余部分都需要你进行打印输出。
Try
,Try,赶紧动手实验吧!
开始你的任务吧,祝你成功!
package step1;
import java.util.Scanner;public class Cal {public static void main(String[] args) {/*********start*********/Scanner sc= new Scanner(System.in);int a,b;System.out.print("请输入第一个整数\n");a=sc.nextInt();System.out.print("请输入第二个整数\n");b=sc.nextInt();System.out.println("两数相加的结果为:"+(a+b));System.out.println("两数相减的结果为:"+(a-b));System.out.println("两数相乘的结果为:"+(a*b));System.out.println("两数相除的结果为:"+(a/b));System.out.println("两数取余数的结果为:"+(a%b));sc.close();/*********end*********/}}
第2关:关系运算符
任务描述
本小节中你将使用Java
当中的各种关系运算符来判断两数的关系,运行效果图如下:
相关知识
生活中,我们经常会判断两个数的关系,如哪个数大,哪个数小,两个数是否相等的情况,同理,在我们的编程世界中,这种现象更是频繁,所以,此节,我们主要来学习一下Java
当中的一些常见的一些关系运算符。
常见关系运算符
下表为Java
支持的关系运算符。 表格中的实例整数变量A
的值为10
,变量B
的值为20
:如图。
如何使用关系运算符
为了加强程序的交互性,你可以创建一个扫描仪接受用户随机的输两个数进行比较,如图:
输出效果图,如图:
编程要求
使用本关所学的关系运算符,在start-end
区域实现程序的输出,预期的输出请查看测试说明。
测试说明
我会对你编写的代码进行若干次测试: 第一次测试会输入数据:20
,34
; 需要你的程序输出: a==b=false
a!=b=true
a>b=false
a<b=true
b>=a=true
b<=a=false
第一次测试会输入数据:-8
,-18
; 需要你的程序输出: a==b=false
a!=b=true
a>b=true
a<b=false
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);int a=sc.nextInt();int b=sc.nextInt();/*********start*********/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<b="+(a<b));System.out.println("b>=a="+(b>a));System.out.println("b<=a="+(b<a));/*********end*********/}}
第3关:逻辑运算符
任务描述
本关任务:使用逻辑运算符修改程序的输出结果。
相关知识
生活中,我们常常会遇到这样的问题,如我们在报驾校的同时,先要满足两个条件,一个是年满18
周岁,另一个是不能是色盲,要同时满足这两个条件,我们才能报名。像诸如此类的现象就是今天我们所要讲的逻辑运算符。
什么是逻辑运算符
逻辑运算符用于测试两个操作数之间的逻辑关系,且这两个操作数必须是布尔类型的(如关系表达式),得到的结果也是布尔类型的,通过逻辑运算符连接的结果为boolean
类型的变量或表达式叫做逻辑表达式。
常见逻辑运算符
我们可以从“投票选举”的角度理解逻辑运算符:
- 与:要求所有人都投票同意,才能通过某议题;
- 或:只要求一个人投票同意就可以通过某议题;
- 非:某人原本投票同意,通过非运算符,可以使其投票无效;
- 异或:有且只能有一个人投票同意,才可以通过某议题。
逻辑与运算符的用法
用法如下:
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
区域中修改代码,实现程序预期的输出,预期输出请查看测试说明。
测试说明
按照相关要求编写程序后,我会对你的程序进行测试。 预期输入:true
,false
,true
; 预期输出: 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();/*********start *********/System.out.println(!a); System.out.println(a && b); System.out.println( c || b ); System.out.println( a^b ); /*********end *********/}}
第4关:三元运算符
任务描述
本小节你需要完成输入一个年份,编写一个程序来判断当前输入的年份是否为闰年,效果图如下:
相关知识
什么是三元运算符
因为三元运算符的操作数有三个,所以称为三元运算符,三元运算符又称条件运算符,是“?”和“:”符号组合,根据条件执行两个语句中的其中一个。它的语法如下: 语法:
条件表达式 ? 条件为真返回的结果 : 条件为假返回的结果
使用三元运算符
例如:
结果为:
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
变量是否为闰年,为了完成判断是否为闰年,你需要首先了解闰年的判断公式是什么,在这里给出闰年的判断公式如下: 1.年份能被400
整除。 2.年份能被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;/********start********/result=((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) ? true : false;System.out.println(year + "年是否为闰年:" + result);/********end********/}}
第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
区域内代码,使你的程序输出如下效果:
测试说明
我会对你的程序进行若干次测试;
第一次输入:10
,2
预期输出: 24
2
28
第二次输入:5
,3
预期输出: 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("输出:");/*****start*****/System.out.println( (m+n)*2 );System.out.println( (m-n)%3 );System.out.println((m-n)/2 +( m+n)*2);/*****end*****/}}
第6关:选择自测题
任务描述
本关任务:运算符掌握情况测试。
相关知识
编程要求
根据相关知识,按照要求完成右侧区域内选择题任务,包含单选题和多选题。
测试说明
平台会对你选择的答案进行判断,全对则通过测试。
开始你的任务吧,祝你成功!
1、已知:(5>10)||(3<8)的结果是()。A、
非0B、
trueC、
0D、
false2、已知:10,6都是int类型,10/6的结果为()。A、
1B、
1.6C、
1.7D、
23、已知:a=3,b=4,c=5;下列表达式为false的是()。A、
(a<b)||(b>c)B、
(a<=b)&&(b<=c)C、
(a>=b)||(b>c)D、
(a==b)||(b!=c)4、已知:int a=5,b=7;表达式a<b?b:a的结果为()A、
0B、
5C、
7D、
125、运算符优先级别排序正确的是()A、由高向低分别是:()、 ! 、算术运算符、关系运算符、逻辑运算符、赋值 运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、 ! 、逻辑 运算符;C、
由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、 ! 、赋值 运算符;D、由高向低分别是:()、 ! 、关系运算符、赋值运算符、算术运算符、逻辑 运算符;6、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,140B、
10,40,140C、
10,140,40D、
140,40,10
答案:1、B2、A3、C4、C5、A6、A
头歌Java入门 - 运算符和表达式相关推荐
- 头歌--Java入门 - 运算符和表达式
目录 第1关:算数运算符 任务描述 相关知识 编程要求 测试说明
- 头歌(educoder)第 1 章 Java入门之变量与表达式 Java入门 - 运算符和表达式
educoder(头歌)第 1 章 Java入门之变量与表达式 Java入门 - 运算符和表达式 第1关:算数运算符 package step1; import java.util.Scanner;p ...
- 头歌--Java入门 - Java初体验
目录 第1关:Java第一课 任务描述 编程要求 测试说明 第2关:JAVA入门测试题
- 头歌-Java入门 - 分支结构
第1关:Java分支结构之 if...else 任务描述 本小节需要你完成一个判断学员成绩等级的小程序,效果如下: 相关知识 生活中,我们经常需要先做判断,然后才决定是否要做某件事情.例如,如果考试成 ...
- 头歌--Java入门 - 分支结构
目录 第1关:Java分支结构之 if...else 任务描述 相关知识 编程要求 测试说明
- 头歌--Java入门 - 循环结构基础
目录 第1关:Java循环结构之while循环 任务描述 相关知识 编程要求 测试说明
- 头歌--Java入门 - 方法的使用
目录 第1关:如何定义方法 任务描述 相关知识 编程要求 测试说明
- 头歌--Java入门 - 数组基础
目录 第1关:初识数组 任务描述 相关知识 编程要求 测试说明
- 头歌--Java入门 - 循环结构进阶
目录 第1关:for循环的进阶使用-嵌套循环(1) 任务描述 相关知识 编程要求 测试说明
最新文章
- PostgreSQL: epoch 新纪元时间的使用
- springmvc的执行流程详解
- 关于spark-shell和scala关系的一些个人想法
- rotateright_Java Long类rotateRight()方法的示例
- 为什么每天感觉没精神
- Imagine开源图片压缩程序源码
- 如何使用COMPUTER VISION将LEPRECHAUN-HATS放入您的网站
- CodeVS 3027 线段覆盖2(DP)
- 如何检测被锁住的Oracle存储过程及处理办法汇总(转)
- 使用Eclipse构建Maven项目 (step-by-step) (转收藏)
- JavaScript日期对象Date总结(附实例)
- python 使用networkx绘制带权无向图和带权有向图,以及标注特定路径
- 一周项目实战系列--SpringBoot实现微信点餐系统(1)
- 第十届南京邮电大学网络攻防大赛(NCTF 2021)writeup
- opencv:基于凹点匹配的重叠分割
- Ubuntu发烧友三部曲 进阶篇
- JVM基本原理,简明扼要,通俗易懂
- 本地搭建自己的电影网站,并发布公网访问 3-3
- 如何建立一个真实光栅结构的光导
- 使用Markdown语言在博客的文章中添加视频