Java运算符

Java运算符基础

运算符概念

  • 表达式:式子,算是–a+b
  • 操作数:参与运算的数–a和b
  • 运算符:处理运算的符号–+ -*/

运算符类别

  • 赋值运算符

    • “=”它是一个二元运算符(对两个操作数作处理)功能是将右方操作数所含的值赋值给左方的操作数

    • 左边的操作数必须是一个变量,右边的操作数可以是任意表达式(包括变量、常量)

    • 赋值运算符可以连在一起使用。(同时给多个变量赋值)一般不推荐使用

    • 含有两个以上的“=”运算符时,会从最右方开始处理(因为“=”处理顺序是从右到左)

    • 操作符描述例子
      =简单的赋值运算符,将右操作数的值赋给左侧操作数C = A + B将把A + B得到的值赋给C
      + =加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数C + = A等价于C = C + A
      - =减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数C - = A等价于C = C - A
      * =乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数C * = A等价于C = C * A
      / =除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数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
  • 算术运算符

  • 算术运算符分为一元运算符和二元运算符。一元运算符只有一个操作数;二元运算符有两个操作数,运算符位于两个操作数之间。

  • 一元运算符有:正(+)、负(-)、自增(++)、自减(--)

  • 一元运算符与其前后的操作数之间不允许有空格,否则编译时会出错

  • 二元运算符有:+、-、*、/、%、

  • +、-、运算符,还可以作为数据的正负符号

  • 除法运算时,0不能作为除数,,否则报错:AirthemeticExcption

  • 自增自减运算符

    • 自增、自减运算符,a++、a- - ,它们是单目运算符
    • 作用是变量值加1,或者减1 ,操作元必须是一个整型或者浮点型变量
    • 前缀,放在操作元之前,++a,- -a ,会先将变量的值(加减),再使用此变量参与表达式的计算
    • 后缀,放在操作元之后,a++,a- - ,先使用此变量参与表达式的计算,再将变量的值(加减)
    • ( )优先级高于自增、自减运算符的优先级
  • 比较运算符

    • 比较运算符属于二元运算符,一共有6个用于程序中的变量之间以及其他类型的信息之间的比较

    • 比较运算符的运算结果是Boolean型,对应的关系成立时,结果:true,否则为false

    • 所有的比较运算符通常作为判断的依据用在条件语句中

    • 运算符可操作数据类型
      >整型、浮点型、字符型
      <整型、浮点型、字符型
      >=整型、浮点型、字符型
      <=整型、浮点型、字符型
      ==基本数据类型、引用型
      !=基本数据类型、引用型
  • 逻辑运算符

    • 返回类型为布尔值的表达式,还可以比较运算符组合在一起构成一个更复杂的表达式,例:(a>b&&a==b)

    • 操作元必须是Boolean类型数据,

      运算符含义用法结合方法
      &&逻辑与(短路与)op1&&op2从左到右
      ||逻辑或op1||op2从左到右
      逻辑非!op从右到左
    • &&:满足两侧表达式都判断为true,结果为true

    • ||:满足一个表达式判断为true,结果为true

    • !:反转操作数的逻辑状态,如果条件为true,则通过逻辑非运算符将得到false

  • 位运算符

    • 位运算是完全针对位方面的操作,整型数据在内存中以二进制形式保存(数字在二进制上的位移运算)

    • Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型

    位运算符作用在所有的位上,并且按位运算

    位运算符号运算类型描述例子
    双目运算符如果相对应位都是1,则结果为1,否则为0(A&B),得到12,即0000 1100
    |双目运算符如果相对应位都是 0,则结果为 0,否则为 1(A | B)得到61,即 0011 1101
    ^双目运算符按位异或,如果相对应位值相同,则结果为0,否则为1(A ^ B)得到49,即 0011 0001
    单目运算符(按位非)按位取反,运算符,翻转操作数的每一位,即0变成1,1变成0。(〜A)得到-61,即1100 0011
    <<位移操作按位左移运算符。左操作数按位左移右操作数指定的位数。A << 2得到240,即 1111 0000
    >>位移操作按位右移运算符。左操作数按位右移右操作数指定的位数。A >> 2得到15即 1111
    >>>位移操作按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。A>>>2得到15即0000 1111
    • 除了&(按位与)、|(按位或)外,其他的只能用于处理整数的操作数
  • 条件运算符

    • 条件运算符也被称为三元运算符。该运算符有3个操作元,且需要判断布尔表达式的值
    • 该运算符的主要是决定哪个值应该赋值给变量
    • 格式: 条件表达式?值1:值2
    • 运算规则为:若条件式的值为true,则整个表达式取值1,否则取值2
  • instanceof运算符

    • 该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)
    • 运算符左侧变量所指的对象,是操作符右侧类或接口(class/interface)的一个对象,那么结果为真
    • 如果被比较的对象兼容于右侧类型,该运算符仍然返回true
    • 格式:( Object reference variable ) instanceof (class/interface type),结果为布尔值

运算符优先级

  • 编写程序时尽量使用括号运算符来限定运算次序,避免产生错误的运算顺序

  • 类别操作符关联性
    后缀() 、[]、 . (点操作符)左到右
    一元++ 、–、(正)+、(负)-从左到右
    一元++、 --、 +、 - 、~ 、!从右到左
    乘性*、 /、%左到右
    加性+ 、-左到右
    移位>>、 >>>、 <<左到右
    关系> 、>=、 <、 <=左到右
    相等==、 !=左到右
    按位与左到右
    按位异或^左到右
    按位或|左到右
    逻辑与&&左到右
    逻辑或| |左到右
    条件?:从右到左
    赋值= 、+ =、 - = 、* = 、/ =、%=、 >> =、 << =、&=、 ^ = 、| =从右到左
    逗号左到右
  • 简单划分(高到低)

增量和减量运算

算术运算

比较运算

逻辑运算

​赋值运算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值