A Spock Blog.|

SpockC

园龄:3年8个月粉丝:0关注:0

📂Java
🔖Java
2022-01-08 20:37阅读: 89评论: 0推荐: 0

02 - 运算符

一、运算符的基本介绍

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

1) 算术运算符 
2) 赋值运算符 
3) 关系运算符 [比较运算符] 
4) 逻辑运算符 
5) 位运算符 [需要二进制基础] 
6) 三元运算符

二、算术运算符

运算符 运算 范例 结果
+ 正号 +7 7
- 负号 b=11; -b -11
+ 9+1 10
- 6-2 4
* 2*3 6
/ 9/3 3
% 取余 11%9 2
++ 自增(前) a=2; b=++a; a=3,b=3
++ 自增(后) a=2; b=a++; a=3,b=2
-- 自减(前) a=2; b=--a; a=1,b=1
-- 自减(后) a=2; b=a--; a=1,b=2
+ 字符串相加 "Spock"+"Hi" "SpockHi"
1.对于除号"/",它的整数除和小数除是有区别的: 整数之间做除法时,只保留整数部分而舍弃小数部分。
	例如: int x= 10/3; 结果是3
2. 当对一个数取模时,可以等价 a%b = a-a/b*b,这样我们可以看到取模的一个本质运算。
3. 当自增当做一个独立语言使用时,不管是++i;还是i++;都是一样的,等价
4. 当自增当做一个表达式使用时j=++i
	++i: 先自增,后赋值
5.当自增当做一个表达式使用时j=i++
	i++: 先赋值,后自增

三、关系运算符

运算符 运算 范例 结果
== 相等于 8==7 false
!= 不等于 8!=7 true
< 相等于 8<7 false
> 相等于 8>7 true
<= 相等于 8<=7 false
>= 相等于 8>=7 true
instanceof 检查是否是类的对象 "Spock" instanceof String true

四、逻辑运算符

逻辑运算规则:

1) a&b : & 叫逻辑与
规则:当 ab 同时为 true ,则结果为 true, 否则为 false 
2) a&&b : && 叫短路与
规则:当 ab 同时为 true ,则结果为 true,否则为 false 
3) a|b : | 叫逻辑或
规则:当 ab ,有一个为 true ,则结果为 true,否则为 false 
4) a||b : || 叫短路或
规则:当 ab ,有一个为 true ,则结果为 true,否则为 false
5) !a : 叫取反,或者非运算
当 atrue, 则结果为 false, 当 afalse 是,结果为 true
6) a^b: 叫逻辑异或
当 ab 不同时,则结果为 true, 否则为 false

使用细节:

&& 和 & 使用区别: 
	1) &&短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高 
	2) & 逻辑与:不管第一个条件是否为 false,第二个条件都要判断,效率

|| 和 | 使用区别 
	1) ||短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高 
	2) | 逻辑或:不管第一个条件是否为 true,第二个条件都要判断,效率低

五、赋值运算符

基本赋值运算符 =

int a = 10;

复合赋值运算符 += ,-= ,*= , /= ,%= 等

1) 运算顺序从右往左
	int num = a + b + c; 
2) 赋值运算符的左边只能是变量, 右边可以是变量、表达式、常量值
	int num = 20;
	int num2= 78 * 34 - 10;
	int num3 = a; 
3) 复合赋值运算符等价于下面的效果 比如:
	a+=3;
	等价于 
	a=a+3; 其他类推
4) 复合赋值运算符会进行类型转换。 			byte b = 2;

六、三元运算符

条件表达式 ? 表达式 1: 表达式 2;

运算规则:

1. 如果条件表达式为 true,运算后的结果是表达式 1
2. 如果条件表达式为 false,运算后的结果是表达式 2

a = 10;
b = 8;
c = a > b ? a : b;

七、位运算符

运算规则:

按位与 & :两位全为 1,结果为 1,否则为 0。
按位或 | :两位有一个为 1,结果为 1,否则为 0。
按位异或 ^ :两位一个为 1,一个为 0,结果为 1,否则为 0。

本文作者:SpockC

本文链接:https://www.cnblogs.com/SpockC/p/15779505.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   SpockC  阅读(89)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起