五、Java步步为营之数据类型之运算符

概念:Java的运算符代表着特定的运算指令,程序运行时将对运算符链接的操作数进行相应的运算

按照运算符的功能来分

(1)赋值运算符

(2)算术运算符

(3)关系运算符

(4)条件运算符

(5)逻辑运算符

(7)位运算符

(8)其他运算符

1.算术运算符(传说中的加减乘除)

+:加法;-:减法;*:乘法;/:除法(求商);%:除法运算符(求余)

当有不同类型时(遵循下图原则)

可以自己验证一下

2.关系运算符(用于比较大小,正确返回true,错误返回false):

(1)>    大于   (2)< :小于 (3)==:等于 (4)!=:不等于 (5)>=大于等于 (6)<=小于等于 

当然如果是有些char类型也是可以比较的(按照ASCII表),如 'a'<'z',可以自己试一试 

3.逻辑运算符(以上两种运算可能比较好懂,因为从小学就开始接触,但是这种运算就需要自己下功夫了)

(1)& 逻辑与 :都为true时,结果为true,否则为false

(2)| 逻辑或:有一个为true时,结果true,否则为false

(3)!逻辑非:取反操作,当是true时,取反为false,

(4)&&运算符:只有左侧的为true时,才计算右侧的逻辑表达式,否则直接返回运算结果为false(注意与“&”区分,“&”两边都计算)

来看一下&&和&的区别

&&:先计算左边括号里面的结果,为false,直接终止计算返回false

&:计算两边括号的值,在计算&,发现右边分母为0,报错,抛出异常

(5)|| 运算符,只有在其左侧为false时,才计算右侧的表达式,和上面一样的,否则直接返回true(注意和“|”的区别)

4.位运算符

(1)逻辑位运算符(在计算机世界里只认识0和1)

X

Y

~X (取反)

X&Y(按位与)

X|Y(按位或)

X^Y(异或)

0

0

1

0

0

0

0

1

1

0

1

1

1

0

0

0

1

1

1

1

0

1

1

0

~X(取反):0变1,1变0

X&Y(按位与):两者都为1,则为1,其他为0

X|Y(按位或):有一个为1,即为1

X^Y(异或):相同为0,不同为1

(2)移位运算符:

a<<b :左移;操作数a左移b位,低位补零,

如:

2<<2 :8;分析:2的2进制数是 0000 0010,左移4位为:0000 1000

a>>b:右移;a的二进制位右移b(正整数)位,高位补零(a原为正数),高位补1(a原为负数)

如:

4>>2:1;分析:4的2进制数是:0000 0100,右移两位 0000 0001 =1

a>>>b:无符号右移;a的二进制位右移b(正整数)位,高位补零

如:8>>>2:2;分析 8的2进制数是:0000 1000,右移2位 0000 0010=2

5.条件运算符:?

a>b?c:d ;如果a>b为true,返回c,反之返回false

6.自增/自减运算符

i++;先运算,后自增

++i;先自增,后运算

7.赋值运算符(就是数学中的等于号):=

=的运算符最低,当然还有组合运算符 如:a+=b,其实就是a=a+b

好的,运算符大致是这样,最后看下运算符的优先级:

猜你喜欢

转载自blog.csdn.net/robot_sh/article/details/82945110
今日推荐