Java 中的 /= 运算符是啥?
Posted
技术标签:
【中文标题】Java 中的 /= 运算符是啥?【英文标题】:What is the /= operator in Java?Java 中的 /= 运算符是什么? 【发布时间】:2012-11-21 15:52:00 【问题描述】:以下代码示例打印1.5
。
float a = 3;
float b = 2;
a /= b;
System.out.println(a);
我不明白/=
运算符的作用。它应该代表什么?
【问题讨论】:
【参考方案1】:这是一个组合除法加赋值运算符。
a /= b;
表示将a
除以b
并将结果放入a
。
有类似的加法、减法和乘法运算符:+=
、-=
和 *=
。
%=
会做模数。
>>=
和 <<=
将进行位移。
【讨论】:
【参考方案2】:它是x = x / y (x /= y)
的缩写。它所做的是将要分配的变量除以它的左侧并将其存储在右侧。你可以随时改变:
x = x / y
到
x /= y
您可以使用大多数其他运算符来执行此操作,例如 * / +
和 -
。不过,我不确定按位运算符。
【讨论】:
【参考方案3】:a/=b; 意味着将 a 与 b 相除并将结果放入 a
【讨论】:
【参考方案4】:A/=B 与 A=(A/B) 含义相同
Java(从C复制)有一整套操作符X op = Y,意思是X=X op Y,对于 op 是以下任何一个:+ - * / % & | ^
【讨论】:
【参考方案5】:X/=Y
与X=X/Y
相同。
你也可以为这些操作员尝试同样的事情+ - * %
【讨论】:
【参考方案6】:正如这里的大多数人已经说过的,x/=y
用作x=x\y
的缩写形式,对于其他运算符如+=
、-=
、*=
、%=
也是如此。 + 和 - 还有更多的快捷方式,其中 x++
和 x--
分别代表 x=x+1
和 x=x-1
。
没有提到的一件事是,如果在某些函数调用或条件测试中使用它,则使用原始值然后替换,让您在使用该迭代器的调用中执行一个 while 循环的迭代器,或者更简洁地使用余数运算符编写一个真正的 mod 函数:
public int mod(int a, int b)
return ((a%=b)>=0?a:a+b);
这是一种更短的写作方式:
public int mod(int a, int b)
a = a % b
if (a>=0)
return a;
return a+b;
【讨论】:
【参考方案7】:你可以说a = a / b
或者(简称)说 a /= b
【讨论】:
您的答案没有添加许多旧答案尚未建议的任何内容。以上是关于Java 中的 /= 运算符是啥?的主要内容,如果未能解决你的问题,请参考以下文章