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; 意味着将 ab 相除并将结果放入 a

【讨论】:

【参考方案4】:

A/=B 与 A=(A/B) 含义相同

Java(从C复制)有一整套操作符X op = Y,意思是X=X op Y,对于 op 是以下任何一个:+ - * / % & | ^

【讨论】:

【参考方案5】:

X/=YX=X/Y 相同。 你也可以为这些操作员尝试同样的事情+ - * %

【讨论】:

【参考方案6】:

正如这里的大多数人已经说过的,x/=y 用作x=x\y 的缩写形式,对于其他运算符如+=-=*=%= 也是如此。 + 和 - 还有更多的快捷方式,其中 x++x-- 分别代表 x=x+1x=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 中的 /= 运算符是啥?的主要内容,如果未能解决你的问题,请参考以下文章

|= 运算符在 Java 中的作用是啥?

java中的条件运算符是啥?

java中的四元运算符是啥?

&在Java中是啥意思?

java 四个点是啥特殊运算符?

Java 增量/减量运算符 - 它们的行为方式,功能是啥?