第十四届蓝桥杯集训——JavaC组第五篇——四则运算/(求余/取模)

举报
红目香薰 发表于 2022/12/13 19:42:45 2022/12/13
【摘要】 ​ ​编辑第十四届蓝桥杯集训——JavaC组第五篇——四则运算/(求余/取模)目录第十四届蓝桥杯集训——JavaC组第五篇——四则运算/(求余/取模)四则运算基础运算:符号优先级计算示例:自增自减头脑风暴头脑风暴解析:异常处理取模运算%基础概念奇偶数四则运算大家都知道,四则运算也就是【+-*/】在计算机中使用这几个符号来代表,但是很多时候计算还会用到(),括号是优先级最高的符号,就跟先算乘除...

 编辑

第十四届蓝桥杯集训——JavaC组第五篇——四则运算/(求余/取模)


目录

第十四届蓝桥杯集训——JavaC组第五篇——四则运算/(求余/取模)

四则运算

基础运算:

符号优先级

计算示例:

自增自减

头脑风暴

头脑风暴解析:

异常处理

取模运算%

基础概念

奇偶数



四则运算

大家都知道,四则运算也就是【+-*/】在计算机中使用这几个符号来代表,但是很多时候计算还会用到(),括号是优先级最高的符号,就跟先算乘除后算加减一样。只要带()的内容肯定是最先运算的。我们在这个规律下才能正确的计算四则运算。

基础运算:

我们根据括号来进行先行计算的,谁被括号括着就先计算谁,下面就是一个示例:

package com.item.action;

public class Action {

	public static void main(String[] args) {
		int result1=5+6*2;
		int result2=(5+6)*2;
		System.out.println("5+6*2="+result1);
		System.out.println("(5+6)*2="+result2);
	}
}

输出结果:

5+6*2=17
(5+6)*2=22

符号优先级

运算符

结合性

[ ] . ( ) (方法调用)

从左向右

! ~ ++ -- +(一元运算) -(一元运算)

从右向左

* / %

从左向右

+ -

从左向右

> >>>

从左向右

< >=

从左向右

== !=

从左向右

&

从左向右

^

从左向右

|

从左向右

&&

从左向右

||

从左向右

?:

从右向左

=

从右向左

计算示例:

package com.item.action;

public class Action {

	public static void main(String[] args) {
		//计算四则运算
		int result=(5+6-(7+8))*9/10;
		System.out.println(result);
	}
}

编辑

自增自减

下面这个示例就很好的解释了自增自减:

package com.item.action;

public class Action {

	public static void main(String[] args) {
		int i=0;
		int n=i++;//先赋值后+1
		System.out.println(n);
		int j=0;
		int m=--j;//先-1再赋值
		System.out.println(m);
	}
}

编辑

头脑风暴

单单说自增自减很简单,但是做以下的批量化计算呢。并且恶心到【---】三个减号在一起,试试,你还能理解吗?

package com.item.action;

public class Action {

	public static void main(String[] args) {
		//头脑风暴
		int i=0;
		i++;//1
		System.out.println(i);
		i=++i+2;//4
		System.out.println(i);
		i=--i-1;//2
		System.out.println(i);
		i=i---1;//1
		System.out.println(i);
	}
}

编辑

头脑风暴解析:

package com.item.action;

public class Action {

	public static void main(String[] args) {
		//头脑风暴
		int i=0;
		i++;//自身+1,默认赋值
		System.out.println(i);
		i=++i+2;//先+1在+2,相当于i=1+1+2
		System.out.println(i);
		i=--i-1;//先在4的基础上-1,在-1,i=4-1-1
		System.out.println(i);
		i=i---1;//先在2的基础上-1,然后赋值,赋值后再减一,故而不做计算
		System.out.println(i);//最终属于是的2-1=1
	}
}

异常处理

任何数乘以0结果都是0,但是任何数除以0都是无法计算的,我们看一下这个异常:

编辑

我们在计算的过程中一定要排出这种情况,因为如果出现了异常就无法进行后续的计算了,因为程序已经【崩溃】停止了。

取模运算%

取模运算也可称称为求余计算。

例如:

10 / 3 = 3 余 1

我们要进行取模运算,实际上获取的是1,也就是余数。

我们可以利用这个方式做一些特殊的运算。

例题:

拆分整数【12345】,并将各个位置上的数字相加,输出最后的结果。

package com.item.action;

public class demo1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int nums=12345;
		int ge=nums%10;
		int shi=nums/10%10;
		int bai=nums/100%10;
		int qian=nums/1000%10;
		int wan=nums/10000;
		int sum=ge+shi+bai+qian+wan;
		System.out.println(sum);
	}

}

结果:

编辑

基础概念

取模运算(“Modulo Operation”)和取余运算(“Remainder Operation ”)两个概念有重叠的部分但又不完全一致。主要的区别在于对负整数进行除法运算时操作不同。取模主要是用于计算机术语中。取余则更多是数学概念。
模运算在数论和程序设计中都有着广泛的应用,奇偶数的判别到素数的判别,从模幂运算到最大公约数的求法,从孙子问题到凯撒密码问题,无不充斥着模运算的身影。

奇偶数

如果%2输出0,就是偶数,输出1就是奇数

package com.item.action;

public class demo1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int num=5;
		//如果%2输出0,就是偶数,输出1就是奇数
		System.out.println(num%2);
	}

}


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。