*运算符:*
赋值运算符 =
算术运算符 + - * / %
组合运算符 += -= *= /= %= ++ -- (a++是先运算后++,++a是先++后运算 )
逻辑运算符 & | ! &&(短路与) ||(短路或)
关系运算符 > < == >= <= !=
位运算符 << >>
1.1 赋值运算符=
赋值运算符有一个有趣的特性:它允许创建赋值链。例如,分析下面的代码段:
int x, y, z;
x = y = z = 100; // set x, y, and z to 100
//赋值给z为100,把z赋给y,又把y赋给x
1.2 算术运算符
+ - * / %
1. 整型数字之间运算时,没有long类型参与时,结果是整型数字(int)
2. 在有long类型参与的整数运算式中,结果是long类型
3. 在有浮点型数字参与运算时,结果是浮点型数字(默认double类型)
4. 在有字符串参与运算时,执行的是字符串拼接操作
//int a = 10;
System.out.println(10+"1562"+26+2132);//遇到字符串后之后所有的+就变成了连接符1.3 组合运算符
+= -= *= /= %= ++ --
1.符号在前 先自增1 再运算
2.符号在后 先运算 再自增1
1.4 逻辑运算符
&(与) |(或) ^(异或) !(非) &&(短路与) ||(短路或)
布尔逻辑运算符,只能操作boolean型操作数。
| 运算符 | 结 果 |
|---|---|
| && | 逻辑与(短路形式) |
| || | 逻辑或(短路形式) |
| ^ | 逻辑异或 |
| ! | 逻辑一元非 |
| & | 逻辑与 |
| | | 逻辑或 |
布尔逻辑运算规则:
| 操作数 | 逻辑运算及结果 | ||||
|---|---|---|---|---|---|
| A | B | A || B | A && B | !A | A ^ B |
| false | false | false | false | true | false |
| true | false | true | false | false | true |
| false | true | true | false | true | true |
| true | true | true | true | false | false |
&(与) 两边都为真 则真 否则为假 结果是布尔类型
|(或) 两边都为假 则假 否则为真
^(异或) 两边不一样为真 两边一样为假
!(非) 真为假 假为真 只能操作布尔类型
&&(短路与) 左边为假 右边不再判断(执行)
||(短路或) 左边为真 右边不再判断(执行)
int a = 5;
int b =15;
System.out.println(a>10 & b>20);//& 全真为真 否则为假
System.out.println(a<5 & b<16);
System.out.println(a>10 | b<20);//| 全假为假 否则为真
System.out.println(a<4 | b<10);
System.out.println(a<4 && ++b<10);//&&左边为真 则运行&&右边
System.out.println(a<6 && ++b<10);//&&左边为假 则不运行&&右边
System.out.println(a<6 || ++b<10);//||左边为真 则不运行||右边
System.out.println(a<4 || ++b<10);//||左边为假 则运行||右边
1.5 关系运算符
> >= < <= == !=
(1)关系运算的结果为boolean型数值。
(2)关系运算符最常用于if语句和各种循环语句中的控制表达式。
1.6 位运算符(适用于二进制,了解)1.6.1 左移和右移
<<(左移) 左移之后右边空出来的位数补0(左移一位结果乘以2)
>>(右移) 右移之后右边多出来的位数直接砍掉(右移一位结果除以2)
>>>(无符号右移)
1.6.2 位逻辑运算符
| 运算符 | 结 果 |
|---|---|
| ~ | 按位一元取反 |
| & | 按位与 |
| | | 按位或 |
| ^ | 按位异或 |
运算规则:
| 操作数 | 位运算及结果 | ||||
|---|---|---|---|---|---|
| A | B | A | B | A & B | A ^ B | ~A |
| 0 | 0 | 0 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 0 |
注意:
&和|,如果操作数为boolean类型,则为逻辑运算符,如果操作数为整数则为位运算符。通常将&和|作为位运算符。
1.7 三目运算符语法:表达式1?表达式2:表达式3
运算规则:表达式1成立 执行表达式2 否则执行表达式3



