Java中的运算符与表达式

按照运算符功能来分,基本的运算符有下面几类。 算术运算符 +、-、*、/、%、++、– 关系运算符 >、<、>=、<=、==、!= 逻辑运算符 !、&&、||、&、| 、^ 位运算符 >>、<<、>>>、&、|、^、~ 赋值运算符 =、扩展赋值运算符,如+=、/=等。 条件运算符 ? : 其他运算符 包括分量运算符.、下标运算符[ ]、实例运算符instanceof、内存分配运算符new、强制类型转换运算符(类型)、方法调用运算符( )等。

一、算术运算符

+ - * / % +(取正) -(取负) ++ –

两个整数相“/”,结果为整数。对于两个整数之间的除法和取模运算,则式子(a/b)*b+(a%b)==a是恒成立的。

对取模运算符“%”来说,其操作数可以为浮点数。 即a % b与a-((int)(a/b)*b)的语义相同,这表示a % b的结果是除完后剩下的浮点数部分。如37.2%10=7.2。(默认双精度)

值得注意的是Java语言对加运算符进行了扩展,使它能够进行字符串的连接,如"abc"+“de”,得到字符串"abcde"。

二、关系运算符

三、逻辑运算符

!、&&、||、&、|、^(异或)

逻辑运算和关系运算的关系非常紧密,关系运算的结果为布尔型,逻辑运算的操作数与运算结果都是布尔型。

简洁运算(&&、||)与非简洁运算(&、|)的区别在于:非简洁运算在必须计算完左右两个表达式之后,才取结果值;而简洁运算可能只计算左边的表达式而不计算右边的表达式,即对于&&,只要左边表达式为false,就不计算右边表达式,则整个表达式为false;对于||,只要左边表达式为true,就不计算右边表达式,则整个表达式为true。

四、位运算符和赋值运算符

1.位运算符: >>、<<、>>>、&、|、^、~

2.赋值运算符: =、扩展赋值运算符(+=等) 赋值运算符特点:自动类型转换和右结合性

五、条件运算符和字符串运算符

1.条件运算符:表达式1 ? 表达式2 :表达式3

2.字符串运算符 字符串运算符“+”是以String为对象进行的操作。运算符“+”完成字符串连接操作,如果必要,则系统自动把操作数转换为String型。

float a=100.0;      //定义变量a为浮点型
print(“The value of a is”+a+“
”); //系统自动将a转换成字符串
String s1+=a;//s1=s1+a,若a非String型,自动转换为String型。

六、表达式及运算符的优先级、结合性

经验分享 程序员 微信小程序 职场和发展