zoukankan      html  css  js  c++  java
  • Java基本运算符

    1.算术运算符

    作用是数字的计算,包括:正号+,负号-,乘*,除/,余%,加+,减-,其算法与数学中的运算相同。

    算术运算符实例(假设变量A=10,变量B=20):

    操作符

    描述

    例子

    +

    正号

    +A=+10 表示正数10

    -

    负号

    -B=-20  表示负数20

    +

    加号

    A+B=30

    -

    减号

    A-B=-10

    *

    乘号

    A*B=200

    /

    除号

    B/A=2

    %

    取余

    B%A=0

     

    2.位运算

    将数字转成int型后,把二进制的0当作false,1当作true,每一位进行逻辑运算,运算结果为int型。运算符包括:位非~,位与&,位或|,位异或^,位左移<<,位右移>>,位补零右移>>>

    位运算实例(假设变量A=60(二进制为00111100),变量B=13(二进制伟00001101)):

    操作符

    描述

    例子

    ~

    位非:翻转操作数的每一位

    ~A),得到11000011,即195

    &

    位与:当且仅当两个操作数的某一位都非0时该位才为1

    A&B),得到00001100,即12

    |

    位或:只要两个操作数的某一位有一个非0时该位就为1

    A|B),得到00111101,即61

    ^

    位异或:两个操作数的某一位不相同时改位为1

    A^B),得到00110001,即49

    << 

    位左移:左操作数按位左移右操作数指定的数

    A<<2,得到11110000,即240

    >> 

    位右移:左操作数按位右移右操作数指定的数

    A>>2,得到00001111,即15

    >>> 

    位补零右移:左操作数的值按右操作数指定的位数右移,移动得到的空位为零填补。

    A>>>2,得到00001111,即15

    注:

    1)位左移:将int型整数的二进制每位向左移动若干位,前面若干位左移出int范围的bit丢弃,数字位移动到符号位,后面若干位空出的bit补0。如果符号位没有发生改变,则等同于乘2的n次方
    2)位右移:将int型整数的二进制每位向右移动若干位,后面若干位右移出int范围的bit丢弃,前面若干位空出的bit全都补符号位数字。等同于除2的n次方。
    3)位补零右移:将int型整数的二进制每位向右移动若干位,后面若干位右移出int范围的bit丢弃,前面若干位空出的bit全都补0。正数等同于除2的n次方,负数补零右移后变正数。

    3.字符串处理

    只有一个操作符“+” , 作用是将多个字符串连接成1个大的字符串。

    字符串运算实例(变量A=“abc”,变量B=123):

    操作符

    描述

    例子

    +

    连接符:将多个字符串连接成1个大的字符串

    A+B=”ABC123”

    4.关系运算

    判断2者的关系,返回布尔值。包括:判断相等==,判断不等!=,判断大于>,判断大于等于>=,判断小于<,判断小于等于<=。

    关系运算符实例(假设变量A=10,变量B=20):

    操作符

    描述

    例子

    ==

    判断相等:检查两个操作数的值是否相等,如果相等则条件为真。

    A==B)结果为假(非真)

    =

    判断不等于:检查两个操作数的值是否相等,如果不相等则条件为真。

    (!A==B)结果为真

    判断大于:检查左操作数的值是否大于右操作数,如果大于则条件为真。

    A>B)结果为假

    >=

    判断大于等于:检查左操作数的值是否大于等于右操作数,如果大于等于则条件为真。

    A>=B)结果为假

    判断小于:检查左操作数的值是否小于右操作数是,如果小于则条件为真。

    A<B)结果为真

    <=

    判断小于等于:检查左操作数的值是否小于等于右操作数是,如果小于等于则条件为真。

    A<=B)结果为真

     5.逻辑运算

    关于关系的复合运算,返回布尔值。包括:逻辑反!,逻辑与&,逻辑或|,逻辑异或^。

    逻辑运算实例(假设布尔变量A为真,B为假):

    操作符

    描述

    例子

    !

    逻辑反:用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false

    !B)为真

    &

    逻辑与:当且仅当两个操作数都为真,条件才为真。(全真才真)

    A&B)为假

    |

    逻辑或:两个操作数任何一个为真时,条件都为真。(全假才假)

    A|B)为真

    ^

    逻辑异或:两个操作数相同为假,不同为真。

    A^B)为真

     附:

    1.逻辑短路与,与逻辑与不同的是,一旦判断前一关系结果为假,则后续关系不做判断,直接返回结果为假。
    2.逻辑短路或,与逻辑或不同的是,一旦判断前一关系结果为真,则后续关系不做判断,直接返回结果为真。

     

    6.赋值运算

    自增一++,自减一--,赋值=,自乘*=,自除/=,自余%=,自加+=,自减-=,自与&=,......

    赋值运算实例:

    操作符

    描述

    例子

    ++

    自增一,操作数的值加1

    当B=20时,B++=21

    --

    自减一,操作的值减1

    当B=20时,B--=19

    =

    简单的赋值运算符,将右操作数的值赋给左侧操作数

    C=A+B将把A+B得到的值赋给C

    + =

    加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数

    C+=A等价于C=C+A

    - =

    减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数

    C-=A等价于C=C-A

    * =

    乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数

    C*=A等价于C=C*A

    / =

    除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数

    C/=A等价于C=C/A

    %=

    取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数

    C%=A等价于C=C%A

    << =

    左移位赋值运算符

    C<<=2等价于C=C<<2

    >> =

    右移位赋值运算符

    C>>=2等价于C=C>>2

    &=

    按位与赋值运算符

    C&=2等价于C=C&2

    ^ =

    按位异或赋值操作符

    C^=2等价于C= C^2

    | =

    按位或赋值操作符

    C|=2等价于C=C|2

    7.条件运算符

    逻辑判断“?:”,用法:变量 x = (表达式) ? value if true : value if false ,逻辑判断?值1:值2,作用是判断逻辑是真还是假,如果是真则返回值1,否则返回值2。

    例如(1>2)?3:4,因1>2为假,所以返回4,即(1>2)?3:4的结果为4。

    附:Java运算符优先级

    当多个运算符出现在一个表达式中,会涉及到运算的优先级别的问题,在一个多运算符的表达式中,运算级别的不同会导致结果差别很大。

    顺序:算术→位运算→字符串运算→关系运算→逻辑运算→赋值运算

         算术:正号负号>乘除余>加减;

         关系运算:并列

         逻辑:反>与>或/逻辑短路或>逻辑异或

         赋值:自增自减>赋值、自乘、自除……

    另外,要优先运算哪个,可以用()小括号括起来。

  • 相关阅读:
    屏幕适配-使用autoLayout
    linux下activemq安装与配置
    1
    java多线程之ForkJoinPool
    Java中线程的使用
    彻底理解数据库事务
    Java中的事务——全局事务与本地事务
    SpringMVC中的几种事务管理器
    Solr5.0.0定时更新索引
    Solr通过配DIH对数据库数据做索引
  • 原文地址:https://www.cnblogs.com/Carolinee/p/5300839.html
Copyright © 2011-2022 走看看