首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >2.4 java中的运算符(二)

2.4 java中的运算符(二)

作者头像
一缕82年的清风
发布2022-01-10 10:14:50
发布2022-01-10 10:14:50
3870
举报
文章被收录于专栏:lsqingfenglsqingfeng

上篇文章我们主要介绍了java中的算数运算符和赋值运算符。本篇文章我们主要来介绍一下其他几种运算符。

我们接着上篇文章中的序号。

3. 关系运算符

关系运算符顾名思义,就是运算做关系比较的,关系运算符的返回结果是布尔类型的,也就是true和false

==: 用来比较基本数据类型的值是否相等。在连接引用类型的时候,是比较地址值是否相等

int a = 20,b=10;

System.out.println(a==b);//false ,a和b的值不等

!=:用来表示不等

int a=20,b=10;

System.out.println(a!=b);//true,因为a和b不相等

> : 大于

<: 小于

>=:大于等于

<=: 小于等于

instanceof: 用于连接引用数据类型,判断变量是否属于某个类的对象

System.out.println("abc" instanceof String);//true

要严格区分==和=的区别,一个是判断是否相等,一个是赋值

代码语言:javascript
复制
int a=20,b=10;
System.out.println(a==b);//false
System.out.println(a=b);//10,把b赋值给a

4. 逻辑运算符

一般情况下逻辑运算符用来连接布尔值,要注意一下这几个运算符的运算规则。

&: 两个都是true,结果才是true

|: 有一个是true, 结果就是true

^: 两个变量不同得到的结果是true,相同得到的是false

如: true^true=false; false^true= true; false^fasle= false;

&& 和 & 的区别:

二者的运算规则是相同的,&& 被成为短路运算符。也就是当&& 连接两个布尔值的时候,如果前边的值是false,其实整个表达式的值肯定就是false了,这个时候&& 后面的表达式就不用进行运算了,因为已经可以确定整个表达式的值了。而& 这个表达式,不管前边表达式的结果,后面的表达式都要进行运算。

|| 和 | 的区别:

|| 也是短路运算符,如果前边表达式的值是true,那么后边的表达式不在进行运算,因为已经可以确定真个表达式的结果肯定为true。 而非短路运算符| 不管前边表达式的结果,后面的表达式都要进行运算。

&,^,| 这三个表达式可以用来连接数值。

15&2

15|2

15^2

做这种运算的时候,要把数值转成二进制,然后逐位运算,把1当成true,把0当成false,然后按照运算符的运算规则进行计算,再把得到的结果,true 改写成1,false改写成0

5. 位运算符,也是针对二进制进行移位,分为几下几种

<<:空位补0,被移除的最高位丢弃

>>:带符号右移。正数右移高位补0,负数右移高位补1。

>>>:无符号右移。无论是正数还是负数,高位通通补0。

左移几位就相当于乘以2的几次方

3<<2 -----3*2^2 = 12

右移几位就相当于除以2的几次方

6. 三目运算符

格式 (关系表达式)?表达式1:表达式2; 如果条件为true,运算后的结果是表达式1; 如果条件为false,运算后的结果是表达式2; 表达式1和表达式2的最终结果是一个明确的值

如获取a和b中的最大值

a>b?a:b;

关于java中的运算符我们就介绍到这里。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/04/25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档