s1mplesama

导航

JAVA运算符

JAVA运算符分为:算术运算符,关系运算符,位运算符,逻辑运算符,赋值运算符,其它运算符  

 

  1.算术运算符  

操作符描述例子
+ 加法 - 相加运算符两侧的值 A + B 等于 30
- 减法 - 左操作数减去右操作数 A – B 等于 -10
* 乘法 - 相乘操作符两侧的值 A * B等于200
/ 除法 - 左操作数除以右操作数 B / A等于2
取余 - 左操作数除以右操作数的余数 B%A等于0
++ 自增: 操作数的值增加1 B++ 或 ++B 等于 21
-- 自减: 操作数的值减少1 B-- 或 --B 等于 19

 

 

 

 

 

 

 

     

          前缀自增自减法(++a,--a): 先进行自增或者自减运算,再进行表达式运算。


       后缀自增自减法(a++,a--): 先进行表达式运算,再进行自增或者自减运算 

  

  2.关系运算符 

 

运算符描述例子
== 检查如果两个操作数的值是否相等,如果相等则条件为真。 (A == B)为假(非真)。
!= 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 (A != B) 为真。
检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 (A> B)非真。
检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 (A <B)为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 (A> = B)为假。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 (A <= B)为真。

 

 

 

 

 

 

      

 

                                      3.位运算符:应用于整型(byte,short,int,double)  

    1 A = 0011 1100
    2 B = 0000 1101
    3 -----------------
    4 A&b = 0000 1100          //&与运算符,都为1则取1,其余为0;
    5 A | B = 0011 1101         //|或运算符,都为0则取0,其余为1;
    6 A ^ B = 0011 0001         //^异或运算符,相同则为0,不同则为1;
    7 ~A= 1100 0011            //~非运算符,取反,1则为0,0则为1;
<<  按位左移运算符。左操作数按位左移右操作数指定的位数。 A << 2得到240,即 1111 0000
>>  按位右移运算符。左操作数按位右移右操作数指定的位数。 A >> 2得到15即 1111
>>>  按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 A>>>2得到15即000

 

 

      

  

  4.逻辑运算符:

操作符描述
&& 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 (A && B)为假。
| | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 (A | | B)为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 !(A && B)为真。

 

 

 

        

        注意逻辑与或非位与或非的区别;

        短路:当使用逻辑与运算符时,若第一个为false,则不判断后续,直接取值为false;同理当使用逻辑或运算符时,若第一个为true,则取值为true。

 

  

  5.赋值运算符: 

     1 B=A;        //将A赋值给B
     2 B+=A;        //将B+A赋值给B,下面同理
     3 B-=A;
     4 B*=A;
     5 B/=A;
     6 B%=A;
     7 
     8 B<<=2;        //将B<<2赋值给B
     9 B>>=2;
    10 B&=A;         //按位与赋值给B
    11 B^=A;
    12 B|=A;

 

 

  6.条件运算符:(?:)

        条件运算符又称为三目(三元)运算符,具有三个操作数,格式为:    表达式1?表达式2:表达式3

        先判断表达式1的布尔值,若为true,执行表达式2;若为false,执行表达式3。

 

  7.instanceof运算符:判断一个对象是否为一个类(或接口)的实例

      String name = "James";
      boolean result = name instanceof String; // 由于 name 是 String 类型,所以返回真

     

    注意以下代码的第四行与第6行:

    1 public class Car extends Vehicle {
    2     public static void main(String args[]){
    3         Vehicle v1 = new Vehicle(); //父类型
    4         Vehicle v2 = new Car(); //子类的实例可以声明为父类型
    5         Car c1 = new Car();    // 子类型
    6         Car c2 = new Vehicle(); //这句会报错,父类型的实例不能声明为子类型

 

 

  运算符的优先级:

      1.后缀:  ()   []   .

      2.一元运算符:  +  -  !  ~  ++  --

      3.乘性:  *   /   %

      4,加性:  +  -

      5.移位:  <<  >>>  >>

      6.关系: >  <  >=  <=

      7.相等:  !=   ==

      8.按位与:  &

      9.按位异或:  ^

      10.按位或:  |

      11.逻辑与:  &&

      12.逻辑或:  ||

      13.条件:  ?:

      14.赋值:  =  +=  -=  *=  /=  %=  <<=  &=  ^=  |=

      15.逗号:  ,

 

      

 

posted on 2018-10-30 12:02  s1mplesama  阅读(181)  评论(0编辑  收藏  举报