算术运算符
算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。(在此不做过多解释。)
自增自减运算符
++a,--a: 先进行自增或者自减运算,再进行表达式运算。a=a+1,a=a-1
a++,a--: 先进行表达式运算,再进行自增或者自减运算。a=a+1,a=a-1
例:
public class selfAdd{
public static void main(String[] args){
int a = 5;
int b = 5;
int x = 2*++a;
int y = 2*b++;
System.out.println("自增运算符前缀运算a="+a+",x="+x);
System.out.println("自增运算符后缀运算b="+b+",y="+y);
}
}
自增运算符前缀运算a=6,x=12
自增运算符后缀运算b=6,y=10
关系运算符
== | 检查如果两个操作数的值是否相等,如果相等则条件为真。 | (1== 2)为假。 |
!= | 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 | (1!= 2) 为真。 |
> | 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 | (1>2)为假。 |
< | 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 | (1 <2)为真。 |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 | (1> = 2)为假。 |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 | (1<= 2)为真。 |
位运算符
此处涉及二进制运算,弱不懂二进制运算,建议先学习二进制。
& | 如果相对应位都是1,则结果为1,否则为0 | |
| | 如果相对应位都是 0,则结果为 0,否则为 1 | |
^ | 如果相对应位值相同,则结果为0,否则为1 | |
〜 | 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 | |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数。 | |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数。 |
逻辑运算符
&& | 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 | |
| | | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 | |
! | 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 |
赋值运算符
= | 简单的赋值运算符,将右操作数的值赋给左侧操作数 | C = A + B将把A + B得到的值赋给C |
+ = | 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 | C + = A等价于C = C + A |
- = | 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 | C - = A等价于C = C - A |
* = | 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 | C * = A等价于C = C * A |
/ = | 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 | C / = A,C 与 A 同类型时等价于 C = C / A |
(%)= | 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 | C%= A等价于C = C%A |
<< = | 左移位赋值运算符 | C << = 2等价于C = C << 2 |
>> = | 右移位赋值运算符 | C >> = 2等价于C = C >> 2 |
&= | 按位与赋值运算符 | C&= 2等价于C = C&2 |
^ = | 按位异或赋值操作符 | C ^ = 2等价于C = C ^ 2 |
| = | 按位或赋值操作符 | C | = 2等价于C = C | 2 |
条件运算符
例:
// 如果 a 等于 10 成立,则设置 b 为 20,否则为 30
b = (a == 10) ? 20 : 30;