运算符

  • 基本运算符
    一、 算数运算符: +、-、、/、%、++、--
    二、关系运算符:>、<、>=、<=、==、!=
    三、逻辑运算符:!、&&(&)、||(|)、^
    四、位运算:~、&、|、^、<<、>>、>>>
    五、赋值运算:简单赋值(=)、复合算术赋值(+=、-=、
    =、/=、%=)和复合位运算赋值(&=、|=、^=、>>=、<<=、>>>=)

一、 算数运算符

分为单目运算符和双目运算符;

  • 单目运算符:只有一个操作数;(+(正)、-(负)、++、--)

  • 双目运算符:有两个操作数,运算符在两个操作数之间。( +(加)、-(减)、*、/、%、)

  • 注:
    1.“+”可以用来链接字符串。如,"abc"+"123"的结果为"abc123"。
    2.两个整数相除取其整数部分。如,3/2结果为1而非1.5。
    3.取余运算(%),在java语言中,既可以对整数取余,也可以对小数取余。如,30%7=2,16.3%5=1.3.
    4.”++“和”--“运算符,只允许用于数值类型的变量,不允许用于表达式中;
    "++"和”--“可以用于数值变量之前或者之后;
    两处使用差别:
    ”++“和”--“用于数值变量之前,在赋值操作中,先对被”++“或”--“操作变量值先加1或者先减1,然后在进行其他的操作;
    "++"和”--“用于数值变量之后,在赋值操作中,先用被”++“或”--“的操作变量值进行其他的操作,然后在对其值加1或者减1。

二、关系运算符

关系运算符用于判断两个操作数的等价关系和大小关系,得到的结果为布尔型(boolean),取值为true或false。
包括:>、<、>=、<=、==、!=

三、逻辑运算符

主要包括:!(逻辑非)、&(逻辑与)、|(逻辑或)、^(逻辑异或)、&&(短路与)、||(短路或)

  • 注:
    1.逻辑运算得到的结果为布尔型
    2.两种逻辑与(&&和&)的运算规则基本相同,两种逻辑或(||和|)的运算规则也基本相同。
    &和|运算是把逻辑表达式全部计算完,而&&和||运算具有短路计算功能。
    对于&来说,如果左侧条件为false,也会计算右侧条件的值,而对于&&来说,如果左侧的条件为false,则不计算右侧的条件,这种现象被称作短路现象。
    3.逻辑异或:相同为false,相反则为true。

四、位运算符

位运算符用来对 整形或字符型 数据的二进制位进行运算,运算结果为一个整数
~(按位取反)、&(按位与)、|(按位或)、^(按位异或)、<<(左移位)、>>(右移位)、>>>(无符号右移)
注:因为数据在计算机内存中是以二进制的形式存放的,因此在使用位运算符时一定要将数据转换成二进制表现形式


与、或、异或

注:当参与运算的操作数为布尔型时,运算符&、|、^是逻辑运算符,
当参与运算的操作数为整形或字符型时,运算符&、|、^是位运算符。


IMG_20171022_211250.jpg
<<、>>、>>>

五、赋值运算

赋值运算符(=)的功能是将运算符“=”右侧的值赋给左边的变量

  • “=”左侧必须是一个已经声明过的变量,而不允许是常量或表达式。

扩展赋值运算符:
复合算术赋值(+=、-=、*=、/=、%=)和复合位运算赋值(&=、|=、^=、>>=、<<=、>>>=)

六、条件运算符

条件运算符是java语言中的唯一一个三目运算符
一般形式: <表达式1> ?<表达式2> : <表达式3>
含义:先计算<表达式1>的值,
当<表达式1>的值为true时,则将<表达式2>的值作为整个表达式的值;
当<表达式1>的值为false时,则将<表达式3>的值作为整个表达式的值。
其中,表达式1必须为boolean型

七、表达式

当表达式含有多个运算符时,系统会按照运算符的优先级来控制运算执行顺序。

同级的运算符连续出现时按照约定的结合方向进行运算。如,运算符“+”的结合方向为从左到右,因此:
String s1 = 3+5+"welcome";//运行结果为"8welcome"
String s1 = "welcome"+3+5;//运行结果为"welcome35"

优先级与结合方向
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容