【Java基础】运算符

1.算术运算符

1.int / int 结果还是 int 类型,而且会向下取整(舍弃小数点)要想得到数学中的结果,可以使用double
2.做除法/和取模%时,右操作数不能为0
3.可以对小数求余数,即对double类型取模 11.5%2.0==1.5
4.两侧操作数类型不一致时,自动向类型大的提升

2.关系运算符

关系运算符主要有六个:==  !=  <  >  <=  >=  ,计算结果都是 true 或 false

注意:当需要多次判断时,不能连着写,比如: 3 < a < 5 ,原因很简单 先判断3 < a  是true或false,这不能和后面的5比较。

3.逻辑运算符(重点)

主要有三个:&&   ||  !,运算结果都是boolean类型

3.1逻辑与 ( &&)

格式:布尔表达式1 && 布尔表达式2  ,遵循下图,即 有一个假就是假

3.2逻辑或 ( || )

格式同上,简记为 有一个真就是真

3.3逻辑非( !)

简记为 真变假 假变真

3.4短路 

1.对于 && 。左侧表达式为false,结果一定为false,无需计算右侧表达式

2.对于 | | 。 左侧表达式为true,结果一定为true,无需计算右侧表达式

3.& | 如果表达式结果为 boolean类型, 也表示逻辑运算。 但与 && || 相比, 它们不支持短路求值.

4.位运算符

位运算符主要有四个 : &  |  ~  ^ 位运算符表示按二进制位运算
1.按位与 & :两个二进制同为 1 ,结果为 1,否则结果为 0
2.按位或  | :两个二进制同为 0 ,结果为 0,否则结果为 1
   注意 : & | 的操作数为整数 (int, short, long, byte) 的时候 , 表示按位运算 , 当操作数为 boolean 的时候 , 表示逻辑运算.
3.按位异或 ^ 找不同,用 1 标记,所以同为 0,异为 1
    找不同,也就可以得出两个结论
两个重要结论

4.按位取反 ~ :1变0,0变1

5.移位运算符

移位运算符有三个 : <<  >>  >>> ,都是二元运算符,且都是按照二进制比特位来运算的。
1. 左移 << : 最左侧位不要了 , 最右侧 0, 相当于 乘法  n * 2 ^ x(x为移动的位数)
   注意:向左移位时,丢弃的是符号位,因此正数左移可能会变成负数
2. >> : 最右侧位不要了 , 最左侧补符号位 ( 正数补 0, 负数补 1),相当于除法  n / 2 ^ x
3. 无符号右移 >>>: 最右侧位不要了 , 最左侧补 0
    由于计算机计算移位de效率高于计算乘除, 当某个代码正好乘除 2 N 次方的时候可以用移位运算代替, 移动负数位或者移位位数过大都没有意义.
  

6.条件运算符​​​​​​​

只有一个: 布尔表达式 1 ?表达式 2 :表达式 3 ,

也是Java中唯一的一个三目运算符,是条件判断语句的简化写法。

例子

面试题:

原因:

7.运算符的优先级

运算符之间是有 优先级 . 具体的规则我们 不必记忆 . 在可能存在歧义的代码中加上括号即可
  • 35
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值