有关JAVA运算符

来源:互联网 发布:网络诋毁 编辑:程序博客网 时间:2024/06/17 21:07
一、“+”运算符
“+”运算符用于数值相加或字符串连接,在连接数值时直接将两边的操作数相加,如5+3的结果为8。连接字符串时将两边的字符串直接相连,如“JAVA”+“学习”的结果为“JAVA学习”。
如果连接是数值和字符串,那么会将操作数中的数值转换成字符串后再与另一操作数字符串相连接,结果是一个新字符串,如5+“JAVA”+“学习”的结果为5JAVA学习。
在进行多个数值和字符串混合运算时,数值和字符串的前后顺序会影响最后的运算结果。

如果数值运算在前,那么会先计算数值相加,相加的结果作为新的数值再与之后的字符串相加。如5+3+“JAVA”+“学习”的结果是8JAVA学习。

如果数值运算在后,那么单个数值会被依次转换成字符串与之前的字符串连接,而数值之间不会做相加运算。如“JAVA”+5+3的结果为JAVA53,而不是JAVA8。
二、“ / ”运算符
“ / ”运算符用于两个数相除。该运算符与现实数学中的÷还是有区别的,如果使用不当会产生意料之外的结果。
1、两个整数除结果为“整除”后的整数部分
如果两个操作数均为整数,“ / ”的含义为“整除”,计算的结果为实际运算结果的整数部分,原结果的小数部分会直接舍弃,甚至不会四舍五入。如6/4的结果为1,而不是1.5,小数部分的0.5被直接舍弃掉了。
2、浮点数参与运算,结果为浮点数
如果两个操作数中有浮点数,则结果也为浮点数,小数部分会保留。如6.0/4和6/4.0的结果都是1.5。
3、整数/0编译报错
JAVA中整数除以0编译报错“Exception in thread "main" java.lang.ArithmeticException: / by zero”
4、浮点数/0或浮点数/0.0
在数学任何数都不能除以0,但在JAVA中浮点数可以,如
5.5/0=Infinity,正浮点数除0结果为正无穷大,5.5/0.0结果相同。
-5.5/0=-Infinity,负浮点数除0结果为负无穷大,-5.5/0.0结果相同。

三、“ % ”运算符
“ % ”运算符用于对两个操作数求模,也就是两个数相除后的余数。
1、两个操作数均为整数,则结果也是整数。如5%3=2
2、操作数之一为浮点数,则结果也是浮点数。如5.0%3、5%3.0、5.0%3.0结果都是2.0。
3、两个数求模结果的符号由被求模的数的符号决定,即-5%3=-2,5.0%(-3)=2.0,(-5)%(-3)=-2,求模运算时,其实是先计算两个不带符号的数的求模结果,然后将被求模的数(即第一个操作数)的符号作为结果的符号。
4、整数%0(包括0%0)时,编译报错“Exception in thread "main" java.lang.ArithmeticException: / by zero”
5、浮点数%0(包括0.0%0)结果都是NaN,即“非数”。
6、任何数%0.0(包括0%0.0和0.0%0.0)结果都是NaN,即“非数”。
7、0%非0数结果为0
8、0.0%非0数结果为0.0

0 0