目录
-
运算符
- 算术运算符
-
赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 三目运算符
- 运算符优先级和结合性
运算符
Java中运算符可以分为算术、赋值、比较、逻辑、位和类型相关运算符等多种,本篇一一做出总结。
算术运算符
算术?无非就是加减乘除嘛,除此之外还有呢。
-
+ :除了可做基本数据类型的加法,还可以作为字符串的拼接符。
-
/ :除法也相对特殊,用作整数计算,且除数不能是0,结果也为整,就算取不到整数也得强行截断。如果至少有一个浮点数,那么就是自然除法,而且还会有无穷和非数的情况出现。
-
% :求余运算,涉及到除法运算需要注意除法运算相关事项。
-
++ :自加,只能操作一个操作数或者单个数值类型的变量(变量!!!)。
++m 和m++ 的区别:
-
++m是先把m加上1,然后再把结果放入表达式中进行计算。
-
m++实先把m的值放到表达式中计算,然后给m值加1。
int a =5;
int b = a++;//b=5,之后a++,变为6
int c = ++a;//c=6+1=7
System.out.println(a+","+b+","+c);
-
-- :同理++ 。
Java中可以借助java.lang.Math 类中的方法完成相对麻烦的数学运算,如乘方、开方等运算。
import static java.lang.Math.*;
赋值运算符
为变量指定变量值。就是把什么东西装到容器里面。
比较运算符
就是比大小嘛,出来是个布尔值。
-
== :
- 如果比较的是两个数值类型的数,只要值相等,就返回true,哪怕类型不相同。
5.0==5;
- 如果都是引用类型的话,必须指向同一对象才会返回true。
- boolean类型也可以比较。
true == false; ,返回false。
逻辑运算符
用来操作两个布尔型的变量或者常量。
-
&& 和& :都表示着与逻辑,全真为真,有零出零。前者&& 代表“短路与”,即如果判断的第一个操作数或者表达式为false,就不再对后面的操作数求值,而是直接返回false。
-
|| 和| :都表示着或逻辑,有真出真,全零出零。前者代表“短路或”,同理于“短路与”。第一个为true,直接true,根本不管后面的相当于短路掉了。
位运算符
处理整型类型时,直接对组成整型数值的各个位完成操作。
-
& 是按位与,| 是按位或,~ 是按位非。
-
^ 是按位异或,两位相同为0,不同为1。
-
<< 是左移,>> 是右移。
-
>>> 是无符号右移,没有<<< 这个符号。
-
>>> 会用0填充高位,前者则是用符号位填充。
- 对于比int类型小的操作数,总是先转换为int再移位。
- 对于int类型a>>b,如果b>32,则移位的位数为b%32,long类型同理。
- 移位时,如果二进制码没有发生有效数字丢失的情况,左移n位等价于乘上2的n次方,右移则是除以2的n次方。
三目运算符
直接上例子!
String a;
a = 2>1 ? "2比1大":"2比1小";
System.out.println(a);
-
表达式 ? 成功语句 :失败语句; 是基本定义式子。
- 表达式为true,执行成功语句,false则执行失败语句。
- 三目运算符不支持多个语句,但可以嵌套使用。
运算符优先级和结合性
运算符优先级自上而下逐级递减。
运算符说明 |
Java运算符 |
结合顺序(<--表示从右到左) |
|