Java运算符

我与影子孤独终老i 提交于 2020-03-16 18:34:03

Java运算符

一、运算符分类

运算符优先级

算术运算符 一元 ++,--
二元 +,-,*,/,%
赋值运算符 =
扩展运算符 +=,-=,*=,/=
关系运算符 >,<,==,!=,>=,<=,instanceof
逻辑运算符 &&,||,!,^
位运算符 &,|,~,^,>>,<<,>>>
条件运算符 ?:
字符串连接符 +

 

二、算术运算符

(1)一元运算符

a++:先使用变量a后再自增。

++a:变量a先自增后再使用。

 

(2)二元运算符

1. 整数运算

  • 操作数只要有Long类型,结果为Long类型,否则结果为int类型。

2. 浮点运算

  • 操作数只要有double类型,结果为double类型,否则为float类型。

3. 取模运算

  • 操作数可为浮点型,但一般为整型。
  • 余数的符号与第一操作数相同。

 

三、赋值运算符

 

四、关系运算符

这里少见的就是instanceof运算符:A instanceof B,这是判断对象A是否属于类B,返回值为boolean类型。

 

五、逻辑运算符

需要注意的是:逻辑运算符的两个操作数必须为boolean类型。

逻辑与 & 两个操作数都为true才返回true;否则为false
逻辑或 | 两个操作数都为false才返回false;否则为true
逻辑非 ! 取反:!true==false, !false==true
逻辑异或 ^ 两个操作数不同为true,相同为false
短路与 && 两个操作数只要有false则为false
短路或 || 两个操作数只要有true则为true

逻辑(与/或)和短路(与/或)的区别是:逻辑必须处理两个操作数的值,而短路视情况而定。如短路或:只要第一个操作数为true,不需要处理第二个操作数。

 

六、位运算符

需要注意的是:位运算符的两个操作数为二进制的数字。

按位与 & 两个数字都为1才返回1,否则为0
按位或 | 两个数字都为0才返回0,否则为1
取反 ~ !0==1, !1==0
按位异或 ^ 两个数字不同为1,相同为0
左移运算符 << 左移1位,相当于乘2
右移运算符 >> 右移1位,相当于除2

 

七、条件运算符

语法格式:y = Ex ? a : b;

含义:Ex为boolean类型的表达式,若为true则返回a的值,否则返回b的值。

 

八、字符串运算符

运算符+两侧的操作数只要有1个为String类型,系统会自动将另一个操作数转换为String类型,然后进行拼接。

 

未完待续~~~

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!