第一节 JAVA中的算术运算符
JAVA中的运算符可以分为以下几种:
算术运算符、赋值运算符、比较运算符、逻辑运算符还有条件运算符。
算术运算符主要用于进行基本的算术运算,如加法、减法、乘法、除法等。Java 中常用的算术运算符:
算数运算符 | 名称 | 举例 |
---|---|---|
+ | 加法 | 5+12=17 |
- | 减法 | 25-10=15 |
* | 乘法 | 3*8=24 |
/ | 除法 | 24/6=4 |
% | 求余 | 24%7=3 |
++ | 自增1 | int i=5;i++ |
-- | 自减1 | int i=5;i-- |
其中++ 和 --
既可以出现在操作数的左边,也可以出现在右边,但结果是不同。
int a=b;
int b=++a;//++出现在左边,让a先自增,然后将值赋给b
int b=a++;//++出现在右边,把a的值先赋给变量b,然后再执行自增
自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!例如 5++ 、 8– 等写法都是错误的!% 用来求余数,也称为“取模运算符”。
第二节 JAVA中的赋值运算符
赋值运算符是指为变量或常量指定数值的符号。如可以使用 “=” 将右边的表达式结果赋给左边的操作数。JAVA中常用赋值运算符如下表所示
运算符 | 名称 | 举例 |
---|---|---|
= | 赋值 | c=a+b将把a+b的值赋给c |
+= | 加等于 | c+=a等价于c=c+a |
-= | 减等于 | c-=a等价于c=c-a |
*= | 乘等于 | c*=a等价于c=c*a |
/= | 除等于 | c/=a等价于c=c/a |
%= | 模等于 | c%=a等价于c=c%a |
第三节 JAVA中的比较运算符
比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。Java 中常用的比较运算符如下表所示:
比较运算符 | 名称 | 举例 | 结果 |
---|---|---|---|
> | 大于 | a=5;b=2;a>b; | true |
< | 小于 | a=5;b=2;a< b; | false |
>= | 大于等于 | a=5;a>=3 | true |
<= | 小于等于 | a=5;b=2;b<=a | true |
== | 等于 | a=5;b=2;a==b | false |
!= | 不等于 | b=2;b!=2; | false |
注意:
1、 > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型;
2、 == 、 != 两边的操作数既可以是数值类型,也可以是引用类型.
第四节 JAVA中的逻辑运算符
常用的逻辑运算符如下表所示:
逻辑运算符 | 名称 | 举例 | 结果 |
---|---|---|---|
&& | 与 | a&&b | 如果a与b都为true,则返回true |
|| | 或 | a||b | 如果a与b任一为true,则返回true |
! | 非 | !a | 如果a为false,则返回true,即取反 |
^ | 异或 | a^b | 如果a与b仅只有一个为true,则返回true |
我们可以从“投票选举”的角度理解逻辑运算符:
1、 与:要求所有人都投票同意,才能通过某议题
2、 或:只要求一个人投票同意就可以通过某议题
3、 非:某人原本投票同意,通过非运算符,可以使其投票无效
4、 异或:有且只能有一个人投票同意,才可以通过某议题
当使用逻辑运算符时,我们会遇到一种很有趣的“短路”现象。譬如:( one > two ) && ( one < three ) 中,如果能确定左边 one > two 运行结果为 false , 则系统就认为已经没有必要执行右侧的 one < three 啦。同理,在( one > two ) || ( one < three ) 中,如果能确定左边表达式的运行结果为 true , 则系统也同样会认为已经没有必要再进行右侧的 one < three 的执行啦!
第五节 JAVA中的条件运算符
也称为三元运算符,语法形式:布尔表达式 ? 表达式1 :表达式2;
运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值。例如:
String str=(8>5)? "8大于5":"8不大于5";
System.out.println(str);
因为,表达式 8>5 的值为 true ,所以,返回: 8大于5
第六节 Java中运算符的优先级
Java 中常用的运算符的优先级如下表所示:
这个没必要去死记运算符的优先级顺序,实际开发中,一般会使用小括号辅助进行优先级管理。