运算符介绍:
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等
1.算术运算符;2.赋值运算符;3.关系运算符;4.逻辑运算符;5.三元运算符
算术运算符是对数值类型的变量进行运算的,在Java程序中使用的非常多
运算符 |
运算 |
范例 |
结果 |
+ |
正号 |
+8 |
8 |
- |
负号 |
a=12;-a |
-12 |
+ |
加 |
8+8 |
16 |
- |
减 |
8-2 |
6 |
* |
乘 |
8*8 |
64 |
/ |
除 |
8/8 |
1 |
% |
取模(取余) |
8%5 |
3 |
+ + + + |
自增(前):先运算后取值 自增(后):先取值后运算 |
a=2;b=++a; a=2;b=a++; |
a=3;b=3; a=3;b=2; |
- - - - |
自增(前):先运算后取值 自增(后):先取值后运算 |
a=2;b=--a; a=2;b=a--; |
a=1;b=1; a=1;b=2; |
+ |
字符串相加 |
“Java”+”java” |
“Java java” |
细节:
- 对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。例如:int x =10/3,结果是3
-
当对于一个数取余(取模)时,可以等价 a%b=a-b/b*b,这就是取余的一个本质运算
- 关系运算符的结都是boolean型,也就是要么是true,要么是false
- 关系表达式 经常用在if结构的条件中或循环结构的条件中
运算符 |
运算 |
范例 |
结果 |
== |
相等于 |
9==8 |
false |
!= |
不等于 |
9!=8 |
true |
< |
小于 |
9<8 |
false |
> |
大于 |
9>8 |
true |
<= |
小于等于 |
9<=8 |
false |
>= |
大于等于 |
9>=8 |
true |
instanceof |
检查是否是类的对象 |
“Java”instanceof String |
true |
-- 用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值
a |
b |
a&b |
a&&b |
a|b |
a||b |
!a |
a^b |
true |
true |
true |
true |
true |
true |
false |
false |
true |
false |
false |
false |
true |
true |
false |
true |
false |
true |
false |
false |
true |
true |
true |
true |
false |
false |
false |
false |
false |
false |
true |
false |
逻辑运算符规则
a&b:&叫逻辑与
规则:当a与b同时为true,则结果为true,否则为false
a&&b:&&叫短路与
规则:当a和b同时为true,则结果为true,否则为false
a|b :|叫逻辑或
规则:当a和b,有一个为true,则结果为true,否则false
a||b : || 叫短路或
规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false
!a : 叫取反,或者非运算
规则:当 a 为 true, 则结果为 false, 当 a 为 false 是,结果为 true
a^b: 叫逻辑异或
规则:当 a 和 b 不同时,则结果为 true, 否则为 false
&& 和 & 基本规则:
名称 语法 特点
1.短路与&& 条件1&&条件2 两个条件都为true,结果为true,否则false
2.逻辑与& 条件1&条件2 两个条件都为true,结果为true,否则false
&& 和 & 使用区别
- &&短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false,效率高
- &逻辑与:不管第一个条件是否为false,第二个条件都要判断,效率低
|| 和| 基本规则
名称 语法 特点
短路或 || 条件1||条件2 两个条件中只有有一个成立,结果为true,否则为false
|逻辑或 条件1|条件2 只要有一个条件成立,结果为true,否则为false
|| 和 | 使用区别
1.|| 短路或:如果第一个条件为true,则第二个条件不会判断,最终结果为true,效率高
2.| 逻辑或:不管第一个条件是否为true,第二个条件都要判断,效率低
! 取反 基本规则
名称 语法 特点
! 非(取反) !条件 如果条件本身成立,结果为false,否则true
a^b:叫逻辑异或,当a和b不同时,则结果为true,否则false
---赋值运算符就是将某个运算后的值,赋给指定的变量
分类:
1.基本赋值运算符 = int a=100;
2.复合运算符
+=,-=,*=,/=, %= 等
a+=b; 等价于a=a+b;
a-=b;等价于 a=a-b;
赋值运算的特点
- 运算顺序从右往左
- 赋值运算符的左边,只能是变量,右边可以是变量,表达式,常量值
- 复合赋值运算符会进行类型转换
基本语法:
条件表达式 ?表达式1:表达式2;
运算规则:
- 如果条件表达式为true,运算后的结果是表达式1;
- 如果条件表达式为false,运算后的结果是表达式2;