变量或常量,通过运算符组合起来,符合Java的语法格式,成为表达式
算数运算符:+ ,- ,*, /, %, ++, —
/ :除法运算;
% :取模运算,两个数字相除取余数;
++ :自增 变量的值加1;
— :自减 变量的值减1;
赋值运算符:=,+=, -=,*=,*=,/=,%=,<<=,>>=,>>>=,&=,|=,^=
1、=:赋值运算符:将右侧操作数的值赋值给左侧操作数。示例:c = a + b ,a + b的结果赋值给c
2、+=:“加和赋值”:表达式左边的值和右边的值相加,并将结果赋值给左边的变量。如果左侧操作数的类型为String,则这是“连接并赋值”运算符。例:c += a 与 c = c + a,c = (c的数据类型)(a+c)
3、-=:“减和赋值”:表达式左边的值减去右边的值,并将结果赋值给左侧的变量。例:c -= a 与 c = c – a结果相同
4、*=:“乘和赋”:将表达式左边的值乘以表达式右边的值,然后将结果左边的变量。例:c *= a 与 c = c * a结果相同
5、/=:“除法和赋值”:将表达式左边的值除以表达式右边的值,并将结果左边的变量右边。例:c /*= a 与 c = c / a结果相同
6、%=:“取模并赋值”:通过表达式右边的值计算表达式左边的值的模数,并将结果左边的变量右边。例:c %= a 与 c = c % a结果相同
注:复合赋值运算符,默认包含了强制类型转换。
关系运算符:> , < , >= , <= , == , != , instanceof
> :a>b,判断a是否大于b,成立为true,不成立为false
>=: a>=b,判断a是否大于或者等于b,成立为true,不成立为false
< :a<b,判断a是否小于b,成立为true,不成立为false
<= a<=b,判断a是否小于或者等于b,成立为true,不成立为false
!= a!=b,判断a和b的值是否不相等,成立为true,不成立为false
== a==b,判断a和b的值是否相等,成立为true,不成立为false
instanceof:其实是java的一个二元操作符,和=,<,>这些是类似的,同时它也是被保留的关键字,主要的作用,为了测试左边的对象,是否属于右边的类的实例,返回的是boolean值。
逻辑运算符:&& ,|| ,!
&& 短路与 1. 两边都是true,结果是true 2. 一边是false,结果是false 短路特点:符号左边是false,右边不再运算
|| 短路或 1. 两边都是false,结果是false 2. 一边是true,结果是true 短路特点: 符号左边是true,右边不再运算
! 取反 1. ! true 结果是false2. ! false结果是true
位运算符:
& 按位与:&的两侧可以是int,也可以是boolean表达式,当&两侧是int时,要先把运算符两侧的数转化为二进制数再进行运算。
| 按位或
^ 按位异或:运算规则是:两个数转为二进制,然后从高位开始比较,如果相同则为0,不相同则为1。
>> 向右移动
>>> 右移零填充
<< 向左移动
&= 按位AND赋值
|= 按位OR赋值
^= 按位异OR赋值
>>= 右移赋值
>>>=右移零填充赋值
<<= 向左移位
7、<<=:“左移并赋值”:例:c <<= 2 与 c = c << 2结果相同
8、>>=:“算术右移并赋值”:例:c >>= 2 与 c = c >> 2结果相同
9、>>>=:“逻辑右移并赋值”:例:c >>>= 2 与 c = c >>> 2结果相同
10、&=:“按位与和赋值”:例:c &= 2 与 c = c & 2结果相同
11、|=:“按位或和赋值”:例:c |= 2 与 c = c | 2结果相同
12、^=:“按位异或或赋值”:例:c ^= 2 与 c = c ^ 2结果相同
条件运算符:?
条件操作符也称为三元操作符。这个操作符有三个操作数,需要判断布尔表达式的值。这个操作符主要决定哪个值应该给变量。
布尔表达式 ? 表达式1 :表达式2
如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值。
算数运算时,类型不同时,自动向高级别转换,然后计算。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/273132.html