Appearance
运算符
运算符概要
什么是运算符?运算符本质上就是一个符号,而这个符号代表了一定的运算规则,举个例子:+ 这个符号,代表的是做加法运算
在 Java 中,提供了一套运算符来操作变量,主要可以分为以下几类
算数运算符
关系运算符
位运算符
逻辑运算符
赋值运算符
其他运算符
既然我们已经理解了运算符的本质,那么,关于运算符的学习,主要掌握两点即可
1.符号是什么样子的
2.这个符号所代表的运算规则是什么
算数运算符
算术运算符和数学中的算数运算是类似的,除了加减乘除以外,还有取余数、自加、自减等操作
+ 加
- 减
* 乘
/ 除
% 取余
++ 自加
-- 自减
举例:
java
int a = 10;
int b = 20;
// 加法运算
int c = a + b;
System.out.println(c); // 30
取余数
java
int a = 42;
int b = 20;
// 取余数运算
int c = a % b;
System.out.println(c); // 2
自加自减
java
int a = 1;
a++; // 自己+1
System.out.println(a); // 2
a--;
System.out.println(a); // 1
关系运算符
关系运算符又叫比较运算符,比较大小关系,结果是一个布尔值
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
举个例子:
java
int a = 20;
int b = 30;
// a > b a是否大于b,这里20 > 30 不成立,返回false
System.out.println(a > b);
其他几个符号,大家自行测试,这里关键是要记住这几个符号的作用
逻辑运算符
逻辑运算符主要用来做逻辑判断,返回的结果是布尔值
java
&& 与, 两边表达式都要满足,最终结果返回true,有一个不满足,返回false
|| 或, 两边表达式只要有一个满足即可,返回true,两边都不满足,返回false
! 非, 取反
举个例子:
java
int a = 20;
int b = 30;
int c = 10;
// false && true 结果为false,有假为假
System.out.println(a > b && a > c);
// false && true 结果为true 有真为真
System.out.println(a > b || a > c);
// false 取反,结果为true
System.out.println(!(a > b));
注意:逻辑运算符有短路问题,例如: false && true 这样一个表达式,逻辑与的特点是有假为假,那意味着执行 && 前面的表达式为 false 的时候,后面就不会执行了,因为没有必要,同理,如果表达式是 true || false,逻辑或的特点是有真为真,前面都是 true 了,那就没有必要往后再执行了,这种就叫做逻辑运算符段路,后面我们在具体的代码中再来提醒大家,这里先记住这个特性
赋值运算符
赋值运算符是为指定变量分配值的符号,即把值存到某个变量中
= 赋值
+=、-=、*= /= 这种是复合写法,有规律,举例:
a += b 等价于 a = a + b
a -= b 等价于 a = a - b
其他以此类推
条件运算符
变量 = (布尔表达式) ? 值 1 : 值 2
举例:
java
int a = 10;
int b = 20;
// 如果a>b 就把40赋值给c,否则就把50赋值给c
int c = a > b ? 40 : 50;
System.out.println(c);
优先级问题
运算符的优先级说的是先算什么后算什么的问题,每个运算符的权重是不一样的,你可以参考下面的这张图
注意,括号的优先级比较高,因此,在我们写代码的时候如果不清楚优先级,那么你就用括号括起来就行了,这样就能提高优先级,上面的图不需要记,真正遇到优先级问题的时候,再来查也可以