1.2 java运算符
-
算术运算符
-
赋值运算符
-
关系运算符
-
逻辑运算符
-
条件运算符
-
位运算符
1.2.1 算术运算符
运算符 | 含义 |
---|---|
+ | 求和 |
- | 相减 |
* | 乘积 |
/ | 商 |
% | 求余数(求模) |
++ | 自加一 |
-- | 自减一 |
注意:
-
--在变量前
-
当--出现在变量前,会先自减一,在赋值运算
-
-
--在变量后
-
当--出现在变量后,会先做赋值运算,再自减一
-
例子同++运算符同等
1.2.2赋值运算符
-
格式:变量=表达式
-
例:int n=3; //将3赋值给变量n
-
注意:赋值运算符是从右往左运行
运算符 | 含义 |
---|---|
= | 赋值 |
+= | 加等(原先的基础上加上/追加这个数) |
-= | 减等(原先的基础上减去/减去这个数) |
*= | 乘等(原先的基础上乘上/乘这个数) |
/= | 除等(原先的基础上除上/除这个数) |
%= | 模等(原先的基础上模上/模这个数) |
1.2.3 关系运算符
-
比较运算符用于判断两个数据的大小
运算符 | 含义 |
---|---|
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
!!!注意 =是赋值 == 是等于
字符做比较,比较的是两个字符的ASCII值
所有的关系运算符的运算结果都是布尔类型,不是true就是false,不可能是其他值
浮点数于整数做比较只要值相当结果为true 例如 float f=5.0; long l=5; f==l;(true)
1.2.4 逻辑运算符
运算符 | 含义 | 结果 |
---|---|---|
& | 逻辑与(可以翻译成并且) | 两边都是true,结果才是true |
| | 逻辑或(可以翻译成或者) | 有一边是true,结果就是true |
! | 逻辑非(取反) | !true = false、!false = true |
&& | 短路与 | 两边都是true,结果才是true |
|| | 短路或 | 有一边是true,结果就是true |
-
&&运算符又叫短路运算符,如果第一个表达式的值就能决定表达式最后的结果,运算符右边的表达式就不再计算了
-
和&&运算符一样。||运算符又叫短路运算符,如果第一个表达式的值就能决定表达式最后的结果,运算符右边的表达式就不再计算了
-
!运算符 取反
1.2.5 条件运算符
-
java中条件运算符是三目运算符
-
语法:
-
布尔表达式?表达式1:表达式2
-
当布尔表达式的值为true,则返回表达式1的值,否则返回表达式2的值
1.2.6运算符优先级
一级运算符:标识,常量,字符串文字量,优先级提升表达式最优先执行。
二级运算符:数组下标运算(expression)、函数调用(argument-expression-list)、成员访问(identifier、 -> identifier)、后缀自增(i++)、后缀自减(i–)、 复合初始化(initializer-list)。
三级运算符:前缀自增(++i)、前缀自减(–i)、单目转型表式式(取地址& ,提领 * , 正号+ ,负号-、 位反~ 逻辑否!)、求类型长度(sizeof unary-expression)。
四级运算符:强制表达式成为type-name指定的类型( type-name ) cast-expression。
五级运算符:“ * ” 乘法运算符。
六级运算符:“ + ”加法运算符。
七级运算符:<< 左移运算符;>> 右移运算符。
八级运算符:<、<=、>、>=关系运算符。
九级运算符:“ == ”等于运算符;“ != ”不等于运算符。
十级运算符:“ & ”按位与运算符。
十一级运算符:“ ∧ ”按位异或运算符。
十二级运算符:“ | ”按位或运算符。
十三级运算符:“&&”逻辑与运算符。
十四级运算符:“ || ”逻辑或运算符。
十五级运算符:? :条件运算符。
从高到低