java的运算符

1.逻辑运算符
    逻辑运算符要求操作数的数据类型为逻辑型,其运算结果也是逻辑型值。逻辑运算符有:逻辑与(&&)、逻辑或(||)、逻辑非(!)、逻辑异或(^)、逻辑与(&)、逻辑或(|)。
    真值表是表示逻辑运算功能的一种直观方法,其具体方法是把逻辑运算的所有可能值用表格形式全部罗列出来。Java语言逻辑运算符的真值表如下:
    逻辑运算符的真值表
    A      B      A&&B   A||B  !A     A^B    A&B    A|B
    false false  false    false true   false   false   false
    true  false  false    true  false  true    false   true
    false true   false    true  true   true    false   true
    true  true   true     true  false  false   true    true

 

2.位运算符
    位运算是以二进制位为单位进行的运算,其操作数和运算结果都是整型值。
    位运算符共有7个,分别是:位与(&)、位或(|)、位非(~)、位异或(^)、右移(>>)、左移(<<)、0填充的右移(>>>)。
    位运算的位与(&)、位或(|)、位非(~)、位异或(^)与逻辑运算的相应操作的真值表完全相同,其差别只是位运算操作的操作数和运算结果都是二进制整数,而逻辑运算相应操作的操作数和运算结果都是逻辑值。

    位运算示例
   运算符  名称   示例           说明
    &       位与    x&y       把x和y按位求与
    |       位或    x|y        把x和y按位求或
    ~       位非    ~x        把x按位求非
    ^       位异或 x^y       把x和y按位求异或
    >>      右移    x>>y     把x的各位右移y位
    <<      左移    x<    >>>     右移    x>>>y   把x的各位右移y位,左边填0

    举例说明:
    (1)有如下程序段:
    int x = 64;   //x等于二进制数的01000000
    int y = 70;   //y等于二进制数的01000110
    int z = x&y   //z等于二进制数的01000000
    即运算结果为z等于二进制数01000000。位或、位非、位异或的运算方法类同。
    (2)右移(>>)是将一个二进制数按指定移动的位数向右移位,移掉的被丢弃,左边移进的部分或者补0(当该数为正时),或者补1(当该数为负时)。这是因为整数在机器内部采用补码表示法,正数的符号位为0,负数的符号位为1。例如,对于如下程序段:
    int x = 70;   //x等于二进制数的01000110
    int y = 2;
    int z = x>>y  //z等于二进制数的00010001
    即运算结果为z等于二进制数00010001,即z等于十进制数17。
    对于如下程序段:
    int x = -70;  //x等于二进制数的11000110
    int y = 2;
    int z = x>>y  //z等于二进制数的11101110
    即运算结果为z等于二进制数11101110,即z等于十进制数-18。要透彻理解右移和左移操作,读者需要掌握整数机器数的补码表示法。
    (3)0填充的右移(>>>)是不论被移动数是正数还是负数,左边移进的部分一律补0。
3.强制类型转换符
    强制类型转换符能将一个表达式的类型强制转换为某一指定数据类型,其语法形式为:
    (<类型>)<表达式>

 
4.对象运算符instanceof
    对象运算符instanceof用来测试一个指定对象是否是指定类(或它的子类)的实例,若是则返回true,否则返回false。

 
5.点运算符
    点运算符“.”的功能有两个:一是引用类中成员,二是指示包的层次等级。

6.运算符的优先级
    以下按优先级从高到低的次序列出Java语言中的所有运算符,表中结合性一列中的“左右”表示其运算次序为从左向右,“右左”表示其运算次序为从右向左。

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

 

你可能感兴趣的:(java基础)