深入解析算术运算符:加号、除号、取模及自增自减操作详解

算术运算符 Arithmetic operators

深入解析算术运算符:加号、除号、取模及自增自减操作详解

加号(+):在操作数值、字符、字符串时其结果各有不同;

整数进行除号操作时,所得结果为整数,小数部分会被直接忽略,而非四舍五入。但整数除以 0 时,会引发算术异常(ArithmeticException)。

在主线程中出现异常,异常类型为 java.lang.ArithmeticException,原因是除以零。

- NaN 也不等于自己。

算术运算符

取模操作(求余数:%):在取模过程中,模数的符号会被忽略不计,而结果的正负是由被取模的数来决定的。

++ 与 -- :意味着所进行操作的变量会自增 1 以及自减 1 ,并且它们仅仅能够对变量进行操作,而无法对常量进行操作;

自增操作和自减操作的具体情况是相同的,增量与减量均为 1。例如:对于代码 result ++和 ++result ,它们都是把 result 变量的原值增加 1 后再赋值给 result ;而对于代码 result --和 --result ,它们都是把 result 变量的原值减去 1 后再赋值给 result 。唯一的区别是:

表示先将 result 增加 1,然后再对增加后的结果进行运算。

后置(result++):先对 result 变量值增加 1 之前的原始值进行运算,接着再将 result 的值增加 1 。

无论是前置操作还是后置操作,最终都会使 result 增加 1;如果只是进行简单的递增操作,像只写 result++或者 ++result 这样的单行操作,那么选择其中任意一个都可以,例如:

代码块
result++;
代码块

赋值运算符 Assigning operator

专门为变量指定值或重新指定值。

Java能够同时给多个变量进行赋值,这与能够同时声明多个变量的情况类似。然而,由于会影响代码的可读性,所以这种做法也不被推荐。

加等于的意思是:例如 x += 5 这种情况,它相当于 x = x + 5 ,并且还包含隐式类型转换。

公共静态的 void 主方法(字符串数组参数){
  
		int a, b, c;  // 不推荐
  
		a = b = c = 5; // 不推荐
		short s = 5;
s 进行加 3 的操作;编译时会出错;需要进行强制类型转换;即 s 等于将 s 加 3 的结果转换为 short 类型后的值;也就是 s = (short)(s + 3);
		s += 3; // 编译OK,隐式类型转换
  
}

比较运算符 Comparison operator

用来比较两个变量或者常量之间的关系,其结果属于 boolean 类型,它的操作格式是:

这个中间结果再与表达式 B 进行比较得出最终的布尔类型结果;

若比较的两个变量都是数值类型,即便它们的类型不同,只要值相同就可以,此时就会返回 true。

可以比较引用数据类型,其表示的是操作符两边的对象是否为同一对象,比较的是 JVM 中的内存地址。

instanceof 这个操作符是用来判断右边的对象是否为左边类型的实例的;

比较运算符

三元运算符 Ternary operator

三元运算符是指有三个元素参与的表达式,因此它也被称为三目运算符,其语义表达的是 if-else 的意思,语法格式如下:

X    ?    Y  :  Z;

其中 X 属于 boolean 类型的表达式,首先会计算 X 的值。如果 X 的结果是 true,那么就返回 Y,此时整个三目运算表达式的结果就是 Y;如果 X 的结果不是 true,也就是为 false,那么整个三目运算表达式的结果就是 Z。三目运算符结果的类型是由 Y 和 Z 来决定的。

可以通过以下的实例验证:

1):两个数求最大值/最小值;

int a = 13;
int b = 14;
如果 a 大于 b ,那么 maxValue 就等于 a ;否则,maxValue 就等于 b 。

2):判断一个数的是奇数还是偶数;

int i = 13;
如果 i 除以 2 的余数为 0,那么结果就是“偶数”;否则,结果就是“奇数”。

逻辑运算符 Logical operator

用来操作两个属于 boolean 类型的变量或者常量,其结果的类型同样是 boolean。语法的格式是:

布尔结果是由表达式 A 通过逻辑运算符与表达式 B 运算而得出的。

逻辑运算符

&的意思是:当操作数 A 和操作数 B 都为真时,结果 result 才为真;反之,结果 result 为假。

和&结果相同,具有短路效果。若左边操作数 A 为 false,那么 result 必定为 false,同时不会运行 B 的运算。

|表示或者的关系,当 A 为假且 B 为假时,结果为假;只要 A 为真或者 B 为真,结果就为真。

结果与“和”相同,有短路效果。若左边操作数 A 为 true,那么 result 必定为 true,此时操作数 B 就不会被执行,因为已无此必要。

判断 A 与 B 是否存在差异,若有差异则结果为 true,若相同则结果为 false。

取反操作,!true 会得到 false,而!false 会得到 true。

位运算符 Bit operator

位操作是程序设计中的一种操作。它是按位对二进制数数据进行的操作。这种操作可以是一元的,也可以是二元的。详情如下:

位运算符

把操作数的二进制码进行整体右移,移动的位数为指定的位数,右移之后留下的空位用“符号位”来进行补充。

若是正数使用“0”补充;

如果是负数就用“1”来补充;进行负数操作时,需要先取反,再求补,即先取反,再求补

将操作数的二进制码进行整体右移操作,移动的位数为指定的位数,右移之后留下的空位会用“0”进行补充。

若要实现两个变量值的交换,例如有 int a = 3 以及 int b = 5 ,交换后 a 变为 5 ,b 变为 3 ,我们能够通过定义一个第三方变量来达成。当下要求以最快的方式完成此操作,该怎么做呢?

运算符优先级

程序设计中存在着众多的运算符,运算符进行操作时会有先后的差别,这种差别也被称作优先级,具体情况如下:

运算符优先级

表中的优先级 1 到 14 ,其优先级依次从高到低排列。在同一级中,按照表中从右到左或者从左到右的顺序来执行。

Java语言分隔符

注意:1.以上分隔符都必须都是半角下的英文符号;

要注意将空格和空白区分开来。空格是与键盘上的空格键输入相对应的,在 Java 中,空格能够作为一个有效的字符来使用。而空白相较于空格则要宽泛很多,也就是说空白是由大量的空字符所组成的。

完结。

运算符

你可能想看:
« 上一篇
下一篇 »

相关推荐

java中什么是冒泡,冒泡算法

2026年09月06日

27阅读

java中冒号,java双冒号

2026年09月06日

26阅读

java中的->,java中的是什么意思

2026年09月06日

24阅读

java中的super用法,Java中super的说明

2026年09月06日

28阅读

java中反射的应用,java中反射的应用场景

2026年09月06日

25阅读

java中开关的定义,Java关键字有哪些

2026年09月06日

25阅读