Java运算符

1.算术运算符

符号 : + -  *    /   %   ++a  --a  a++  a--

说明:

(1)对于除法运算符,如果两个操作数均是整数,结果也是整数,会舍弃小数部分;如果       两个操 作数中有一个是浮点数,将进行自动类型转换,结果也是浮点数,保留小数部分。

(2)对于取模运算符(取余运算符)/,如果两个操作数均是整数,结果也是整数;如果两    个操作数中有一个是浮点数,结果也是浮点数,保留小数部分。

(3)自增运算符有a++、++a两种使用方式,它们的特点是都相当于a=a+1;不同点a++是   先进行表达式运算再加1,而++a是先加1再进行表达式运算。

运算符运算范例结果
+加法3+58
-减法8-53
*乘法3*515
/整除11/101
%取模7%52
++a自增

a=3   

b=++a 

a=4

b=4

--a自减

a=2   

b= --a 

a=1

b=1

a++自增

a=3   

b=a ++

a=4

b=3

a--自减

a=2   

b= --a 

a=1

b=2

2.赋值运算符

赋值运算符: = 、+=、-=、*=、/=、%=

作用:将常量、变量或表达式的值赋予各变量

运算符运算范例结果
=赋值a=3a=3
+=加等于a+=3a=a+3
-=减等于a-=3a=a-3
*=乘等于a*=3a=a*3
/=除等于a/=3a=a/3
%=模等于a%=3a=a%3

3.比较运算符

符号:==   !=  >  <   >=   <=

作用:用于对两个常量或变量的大小进行比较

结果:布尔值(true或false)

运算符运算范例结果
==相等于5 == 3false
!=不等于5 != 3true
<小于9 < 8false
>大于9 > 8true
>=大于等于6 => 6true
<=小于等于8 <= 9true

4.逻辑运算符

符号:&   |    ^    !   &&   || 

作用:用于对两个布尔型操作数进行运算

结果:布尔值(true或false)

优先级别:"!" > "&" > "^" > "|" > "&&" > "||"

                                                                     

    运算符                  运算           运算规则
                                                    &                                                                与                                                             两个操作数都是true,结果才为true;不论左边取值,右边表达式都会进行计算
|两个操作数一 个是true,结果为true;不论左边取值,右边表达式都会进行计算
 ^ 异或两个操作数相同,结果为false;两个操作数不同,结果为true
操作数为true,结果为false;操作数为false,结果为true
 &&短路与两个操作数都是true,结果才为true;如果左边为false,右边表达式不会进行计算
 || 短路或两个操作数一个是true, 结果为true;如果运算符左边的值为true,右边表达式不会进行计算
运算符            运算           范例结果
&

false & true

false & false

true  & false

true  & true

false

false

false

true

|

false | true

false | false

true  | false

true  | true

true

false

true

true

 ^ 异或

false ^  true

false ^  false

true  ^  false

true  ^  true

true

false

true

fals

! false

! true

true

false

&&短路与

false && true

false  && false

true   && false

 true  && true

false

false

false

true

|| 短路或

false || true

false || false

true  || false

true  || true

true

false

true

true

5.位运算符

符号:&   |  ~    ^   <<   >>     >>>

作用: 针对二进制0和1进行运算

 运算符         运算           运算规则
&按位与两个操作数都是1,结果才为1
|按位或两个操作数一个是1,结果为1
~按位非/取反操作数为1,结果为0; 操作数为0,结果为1
^按位异或两个操作数相同结果为0, 两个操作数不同结果为1
<<左移将操作数所有二进制左移指定位数,左侧移走的位数舍去,右侧空位补0(负数补1)
>>右移

将操作数所有二进制右移指定位数,右侧移走的位数舍去,左侧空位补0(负数补1)

>>>无符号右移

将操作数所有二进制右移指定位数,右侧移走的位数舍去,左侧空位补0(不考虑正负数)

运算符            运算           范例结果
&按位与

0 & 0

0 & 1

1 & 0

1 & 1

0

0

0

1

|按位或

0 | 0

0 | 1

1 | 0

1 | 1

0

1

1

1

~按位非/取反

~ 0

~ 1

1

0

^按位异或

0 ^ 0

0 ^ 1

1 ^ 0

1 ^ 1

0

1

1

0

<<左移

001010 << 2

110100 << 2

101000

010000

>>右移

010010 >> 2

100011 >> 2

000100

001000

>>>无符号右移

010010 >> 2

100011 >> 2

000100

001000

   说明:

(1)一个整数每向左移动1位,其值扩大2倍,前提是移出位数不包含有效数字。

(2)使用位运算符执行效率高。

(3)一个整数每向右移动1位,其值缩小2倍,前提是溢出位中不包含有效数字。

(4)位运算符对操作数以二进制为单位进行运算。

(5)位运算符的操作数是整型数,包括int、short、long、byte和char。

(6)位运算符的运算结果也是整型数,包括int、long。

(7)如果操作数是char、byte、short,位运算前其值会自动晋升为int,运算结果也int。

6、 条件运算符

   条件运算符(三目运算符、三元运算符)

(1)条件运算符是Java中唯一的需要3个操作数的运算符。

(2)语法格式:  条件?表达式1:表达式2;

(3)运算规律:

         首先对条件进行判断,如果其值为true,则返回表达式1的值;如果条件值为false,则返回表               达式2的值。

(4)条件运算符的嵌套:

         条件?(条件?表达式1:表达式2):(条件?表达式1:表达式2);

7. Java运算符的优先级

    优先级:运算符参与运算的先后顺序

   知识点

(1)Java中的各种运算符都有自己的优先级和结合性。

(2)优先级:在表达式运算中的运算顺序。优先级越高,在表达式中运算顺序越靠前。

(3)结合性:运算的方向:大多数运算符的结合性都是从左向右即从左向右依次进行运算。

(4)优先级别最低的是赋值运算符,其次是条件运算符。

(5)单目运算符包括!、~、++、--,优先级别高。

(6)可以通过“()”控制表达式的运算顺序,“()”优先级最高。

(7)总体而言:优先顺序为算术运算符>关系运算符>逻辑运算符

(8)结合性从右向左的只有赋值运算符、三目运算符和单目运算符(一个操作数)。

优先级运算符结合性
1.    [ ]   ( )从左向右
2 ++  --   ~ !从右向左
3*  /  %从左向右
4+   -从左向右
5<<  >>   >>>从左向右
6< >     >=  <=从左向右
7= =  !=从左向右
8&从左向右
9^从左向右
10|从左向右
11&&从左向右
12||从左向右
13?:从右向左
14=  *=  /=   %= +=  -=   <<=  >>=   >>>= &=    ^=  |=从右向左

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值