上篇文章我们主要介绍了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
要严格区分==和=的区别,一个是判断是否相等,一个是赋值
int a=20,b=10;
System.out.println(a==b);//false
System.out.println(a=b);//10,把b赋值给a4. 逻辑运算符

¥
一般情况下逻辑运算符用来连接布尔值,要注意一下这几个运算符的运算规则。
&: 两个都是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中的运算符我们就介绍到这里。