关注「Java视界」公众号,获取更多技术干货

JAVA基础(五)------ 运算符(优先级、三目运算符、位运算符、=和==)

1、运算优先级

单目运算符优先级较高,赋值运算符优先级较低。

算术运算符优先级较高,关系和逻辑运算符优先级较低。

多数运算符具有左结合性,单目运算符、三目运算符、赋值运算符具有右结合性。

(其中 1 级最高,14 级最低)

使用优先级为 1 的小括号可以改变其他运算符的优先级

2、三目运算

实际开发中注意两点就可以了:

(1)三目运算符属于逻辑运算符,可以替代简单的if语句,使得代码变得简洁;

(2)三目运算也支持嵌套,但同样也不推荐过多的嵌套,会使代码可读性降低

3、位运算符

左移几位其实就是该数据乘以2的几次幂:

3<<3 =  24

计算过程:3*2*2*2=24

右移几位其实就是该数据除以2的几次幂,若为小数,取整即可:

-6>>2 =  - 6 / (2^2) = -1

4、=和==

==是关系运算符,所有关系运算符的结果都是布尔类型,只有true和false;

这两个容易在写if条件的时候写错,

==  内容相等

= 赋值

5、“===”和“==” 的区别

1、===:称为等同符,当两边值的类型相同时,直接比较值,若类型不相同,直接返回false;

2、==:称为等值符,当等号两边的类型相同时,直接比较值是否相等,若不相同,则先转化为类型相同的值,再进行比较;

类型转换规则:

  • 1)如果等号两边是boolean、string、number三者中任意两者进行比较时,优先转换为数字进行比较。
  • 2)如果等号两边出现了null或undefined,null和undefined除了和自己相等,就彼此相等

注意:NaN==NaN  //返回false,NaN和所有值包括自己都不相等。
 

posted @ 2022-06-25 14:03  沙滩de流沙  阅读(233)  评论(0编辑  收藏  举报

关注「Java视界」公众号,获取更多技术干货