Java中的/=运算符是什么?

9
以下代码示例打印出1.5
float a = 3;
float b = 2;
a /= b;
System.out.println(a);

我不理解/=运算符的含义。它代表什么意思?
7个回答

16

这是一个结合了除法和赋值的运算符。

a /= b;

意思是将a除以b,并将结果放入a中。

加法、减法和乘法也有类似的运算符:+=-=*=

%=将进行取模运算。

>>=<<=将进行位移运算。


4
这是“x = x / y (x /= y)”的简写形式。它的功用是将左侧变量除以右侧变量并将结果存储在右侧变量中。你可以随时使用下面的简写形式代替常规方法:
x = x / y
x /= y
大多数其他运算符,如“* / +”和“-”,也可以使用这种简写形式。但是,我不确定位运算符是否也可以这样使用。

1

A/=B 意味着 A=(A/B)

Java(从C语言中复制)具有一整套运算符X op = Y,意为 X=X op Y,其中op是以下任何一个:+ - * / % & | ^。


1

a/=b; 表示将 a 除以 b 并将结果放入 a 中。


1

X/=YX=X/Y相同。
您也可以尝试使用这些运算符+ - * %


0
正如大部分人在这里所说的那样,`x/=y`被用作`x=x\y` 的简写形式,其他操作符例如 `+=`, `-=` ,`*=` ,`%=` 也是同样的道理。甚至对于+和-还有更进一步的快捷方式,其中 `x++` 和 `x--` 分别代表 `x=x+1` 和 `x=x-1`。
还有一件未被提及的事情是,如果这是用于某个函数调用或条件测试中,则使用原始值然后替换它,让您可以在使用该迭代器的调用内部进行while循环的迭代,或使用余数运算符编写真正的模函数更加简洁:
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;
}

-3

你可以说 a = a / b或者(简写)说 a /= b


你的回答并没有提供任何新的建议,这些建议在之前的许多回答中已经被提出了。 - EricSchaefer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接