第十四届蓝桥杯集训——JavaC组第五篇——四则运算/(求余/取模)
目录
第十四届蓝桥杯集训——JavaC组第五篇——四则运算/(求余/取模)
四则运算
基础运算:
符号优先级
计算示例:
自增自减
头脑风暴
头脑风暴解析:
异常处理
取模运算%
基础概念
奇偶数
四则运算
大家都知道,四则运算也就是【 -*/】在计算机中使用这几个符号来代表,但是很多时候计算还会用到(),括号是优先级最高的符号,就跟先算乘除后算加减一样。只要带()的内容肯定是最先运算的。我们在这个规律下才能正确的计算四则运算。
基础运算:
我们根据括号来进行先行计算的,谁被括号括着就先计算谁,下面就是一个示例:
代码语言:javascript复制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
符号优先级
运算符 | 结合性 |
---|---|
[ ] . ( ) (方法调用) | 从左向右 |
! ~ -- (一元运算) -(一元运算) | 从右向左 |
* / % | 从左向右 |
- | 从左向右 |
> >>> | 从左向右 |
< >= | 从左向右 |
== != | 从左向右 |
& | 从左向右 |
^ | 从左向右 |
| | 从左向右 |
&& | 从左向右 |
|| | 从左向右 |
?: | 从右向左 |
= | 从右向左 |
计算示例:
代码语言:javascript复制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);
}
}
自增自减
下面这个示例就很好的解释了自增自减:
代码语言:javascript复制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);
}
}
头脑风暴
单单说自增自减很简单,但是做以下的批量化计算呢。并且恶心到【---】三个减号在一起,试试,你还能理解吗?
代码语言:javascript复制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);
}
}
头脑风暴解析:
代码语言:javascript复制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,也就是余数。 我们可以利用这个方式做一些特殊的运算。
例题:
代码语言:javascript复制拆分整数【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;
int shi=nums/10;
int bai=nums/100;
int qian=nums/1000;
int wan=nums/10000;
int sum=ge shi bai qian wan;
System.out.println(sum);
}
}
结果:
基础概念
取模运算(“Modulo Operation”)和取余运算(“Remainder Operation ”)两个概念有重叠的部分但又不完全一致。主要的区别在于对负整数进行除法运算时操作不同。取模主要是用于计算机术语中。取余则更多是数学概念。 模运算在数论和程序设计中都有着广泛的应用,奇偶数的判别到素数的判别,从模幂运算到最大公约数的求法,从孙子问题到凯撒密码问题,无不充斥着模运算的身影。
奇偶数
如果%2输出0,就是偶数,输出1就是奇数
代码语言:javascript复制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);
}
}