Java中的运算符

运算符基本有:算数运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符

  算术运算符:

算术运算符 含义
+ 加法运算、字符串连接、正数
- 减法运算、负数
* 乘法运算、通配符
/ 除法运算(求商数)
% 除法运算(取模、取余)
++ 自加一
-- 自减一

在运算中++比较特殊

例如:

        int a = 5; 

        a = a++;   

        System.out.print(a);//a=5

   int a = 5; 

   a = ++a;   

     System.out.print(a);//a=6                    

参与 运算的时候,如果是a++,先赋值后运算,如果是++a,先运算 后赋值 。

赋值运算符:

    

运算符 运算规则
= 赋值
+= 加后赋值
-= 减后赋值
*= 乘后赋值
/= 除整后赋值
%= 取模后赋值

其中=为赋值,例如:int a = 100;//把100赋给变量a

只有变量才可以使用赋值运算符,常量不能进行赋值

剩下的运算符都是复合运算符,其中隐含了一个强制类型转换

例如 :   

    byte a = 8;

    byte b = 7;

    //b=a+b;     这种会报错 ,在 a+b 运算的时候会默认转换为int 类型的值 ,而变量b 是byte 类型

    b +=b;    //这个样系统就会正常运行 ,因为隐含了一个强制类型转换;     

比较运算符:

      

运算符 运算规则
== 相等于
!= 不等于
< 小于
> 大于
>= 大于等于
<= 小于等于

逻辑运算符:

  

逻辑运算符 含义
&& 短路与(我理解的是:并且) 1.如果两边值都是true,结果就是true;2.如果一边为false,结果就是false
||  短路或(我理解的是:或者) 1.如果两边任意一边是true ,结果就为true,否则为false
!取反(取非,“不是”) 如果为false,结果就是true,反之则为false
^ 异或 如果两边有且只有一个为true ,结果就是true,否则为false

位运算符:

    

运算符 运算规则
&
|
^ 异或

&     : 1 & 0=0     1&1=1    0&0=0

 |     : 1|1=1     1|0=1    0|0=0

^      :1^0=1      0^0=0   1^1=0

一个数自己和自己异或得到的是0,任何数和0异或得到这个数本身,任何数和1异或得到的是这个数的相反

三目运算符:

a>8 ? (true值) : (false值)

?后必须跟有值

个人理解:如果a大于8就运行true,如果小于8就运行false。有点像if...else

原文地址:https://www.cnblogs.com/9080dlb/p/13956289.html