【问题标题】: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);

我不明白/= 运算符的作用。它应该代表什么?

【问题讨论】:

    标签: java assignment-operator


    【解决方案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

                【讨论】:

                • 您的答案没有添加许多旧答案尚未建议的任何内容。
                猜你喜欢
                • 2015-06-14
                • 2017-10-13
                • 2020-02-07
                • 2012-06-15
                • 2020-05-22
                • 1970-01-01
                • 2011-04-02
                • 2020-05-25
                • 2017-05-10
                相关资源
                最近更新 更多