1、赋值运算符
Java的赋值运算符只有一个“=”,这里的=号不是等于的意思,是“赋值”
例:int num=1
这就把1赋值给了num,但是num是可以随着你代码的编写发生改变的
2、一元运算符
— | 负号 |
+ | 正号 |
! | NOT,否 |
boolean b = false;
int x = 10 ;
int y = -30;
System.out.println("b = " + b + ",!b = " + !b);
System.out.println("x = " + x + ",-x = " + -x);
System.out.println("y = " + y + ",+y = " + +y);
b=false !b=true
x=10 -x=-10
y=-30 +y=-30
3、算术运算符
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取余数 |
4、关系运算符
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
5、自增自减运算符
++ | 变量自增加1 |
-- | 变量自减减1 |
int num1 = 5;
int num2 = 6;
//运算符在前面
System.out.println("num1++ = " + (num1++) +"; num1 = " + num1);
System.out.println("num2-- = " + (num2--) +"; num2 = " + num2);
输出结果
num1++=5 num1=6
num2--=6 num2=5
//运算符在后面先赋值再操作
System.out.println("num1++ = " + (++num1) +"; num1 = " + num1);
System.out.println("num2-- = " + (--num2 )+"; num2 = " + num2);
输出结果
++num1=6 num1=6
--num2=5 num2=5
//运算符在后面,先操作再赋值
5、逻辑运算符
& | and 与 |
&& | 短路 与 |
| | or 或 |
|| | 短路 或 |
在使用逻辑运算符 &&
时,如果在两边的运算都是真,那么就返回真,如果有一个为假就返回假,在 ||
中,判断条件如果有一个为真,那么结果就为真,如果全部是假,那么结果才为假。
既然已经有了与和或了,那么为什么还需要短路与和短路或呢?因为 &&
和 ||
是需要将所有的判断条件都执行的,而短路与在执行过程中,如果遇到一个假,那么它后面的判断逻辑就不会继续执行,直接返回假。短路或如果在判断时候遇到一个真,那么就返回真,不会继续执行后面的判断逻辑。
6、位运算符
A=60 B=13
& | 如果相对应位都是1,则结果为1,否则为0 | (A&B),得到12,即0000 1100 | |
| | 如果相对应位都是 0,则结果为 0,否则为 1 | (A | B)得到61,即 0011 1101 | |
^ | 如果相对应位值相同,则结果为0,否则为1 | (A ^ B)得到49,即 0011 0001 | |
~ | 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 | (〜A)得到-61,即1100 0011 | |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数。 | A << 2得到240,即 1111 0000 | |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数。 | A >> 2得到15即 1111 | |
>>>> |
| A>>>2得到15即0000 1111 |