运算符基本知识总结

运算符基本知识总结
1 算术运算符
1.1基本四则运算符 + - * / %
规则比较简单, 值得注意的是除法:
但其中有一个注意的典例

0 不能作为除数
int a = 1;
int b = 0;
System.out.println(a / b)
// 运行结果
Exception in thread “main” java.lang.ArithmeticException: / by zero
at Test.main(Test.java:5)

上面执行结果中的ArithmeticException代表异常,此异常属于程序执行过程中的异常
所以我们同时有处理异常的方法
格式如下:
Try{
//可能会发生异常的代码
}catch(捕获的异常){
异常处理结果
}
上面的例子我们可用以下的方式进行处理
eg:try{
System.out.println(a/b);
}catch(ArithmeticException e){
System.out.print(“0不能做除数”)
}
继续
1.2 增量赋值运算符 += -= *= /= %=
1.3 自增/自减运算符 ++ –
++a先加后运算 a++先运算在加加
2 关系运算符
关系运算符主要有六个:
== != < > <= >=
3 逻辑运算符(重点)
逻辑运算符主要有三个:
&& || !
注意: 逻辑运算符的操作数(操作数往往是关系运算符的结果)和返回值都是 boolean .
逻辑与 &&
规则: 两个操作数都为 true, 结果为 true, 否则结果为 false.

逻辑或 ||
规则: 两个操作数都为 false, 结果为 false, 否则结果为 true

逻辑非 !
规则: 操作数为 true, 结果为 false; 操作数为 false, 结果为 true(这是个单目运算符, 只有一个操作数

短路求值
&& 和 || 遵守短路求值的规则.
System.out.println(10 > 20 && 10 / 0 == 0 //打印false

System.out.println(10 < 20 || 10 / 0 == 0); // 打印 true

我们都知道, 计算 10 / 0 会导致程序抛出异常. 但是上面的代码却能正常运行, 说明 10 / 0 并没有真正被求值.
结论:

  1. 对于 && , 如果左侧表达式值为 false, 则表达式的整体的值一定是 false, 无需计算右侧表达式.
  2. 对于 ||, 如果左侧表达式值为 true, 则表达式的整体的值一定是 true, 无需计算右侧表达式.

& 和 |
& 和 | 如果操作数为 boolean 的时候, 也表示逻辑运算. 但是和 && 以及 || 相比, 它们不支持短路求值.

.4 位运算符
Java 中对数据的操作的最小单位不是字节, 而是二进制位.
位运算符主要有四个:
& | ~ ^
位操作表示 按二进制位运算. 计算机中都是使用二进制来表示数据的(01构成的序列), 按位运算就是在按照二进制位的
每一位依次进行计算.

按位与 &: 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0.

按位或 |: 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1

注意: 当 & 和 | 的操作数为整数(int, short, long, byte) 的时候, 表示按位运算, 当操作数为 boolean 的时候, 表示逻辑运算
按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0

按位异或 ^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1.

5 移位运算
5.1 二进制数的反码,补码原码
正数的反码,原码,补码三码相同
负数的补码 = 负数本身反码数 + 1
负数的反码,符号位不变,其他位统统取反
5.2移位运算符有三个:
<< >> >>>
都是按照二进制位来运算.
左移 <<: 最左侧位不要了, 最右侧补 0.

右移 >>: 最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)

无符号右移 >>>: 最右侧位不要了, 最左侧补 0.

注意:

  1. 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方.
  2. 右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.
  3. 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替.
  4. 移动负数位或者移位位数过大都没有意义.

6 条件运算符
条件运算符只有一个:
表达式1 ? 表达式2 : 表达式3 当 表达式1 的值为 true 时, 整个表达式的值为 表达式2 的值; 当 表达式1 的值为 false 时, 整个表达式的值为 表达式3 的值.
也是 Java 中唯一的一个 三目运算符, 是条件判断语句的简化写法.
7 注释
Java中的注释主要分为以下三种
单行注释:// 注释内容(用的最多)
多行注释:/* 注释内容*/(不推荐)
文档注释: /** 文档注释 */(常见于方法和类之上描述方法和类的作用),可用来自动生成文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值