【问题标题】:Java math operations shorthand?Java数学运算速记?
【发布时间】:2014-07-22 03:32:14
【问题描述】:

我一直在寻找,但没有运气。我想知道是否有办法用数字 1 执行速记操作。我知道如何用加法和减法来做:

/*
* Addition: variableName++;
* Addition: variableName +=;
* Subtraction: variableName--;
* Subtraction: variableName -=;
* Multiplication: variableName*=
* Multiplication: variableName**; ?
* Division: variableName /=;
* Division: variableName// ? impossible
* Exponent: variableName ^=;
* Exponent: variableName^^; ?
* Modulo: variableName %=;
* Modulo: variableName%%; ?
*/

其他人呢?乘法、除法、指数、模数。

做除法似乎几乎是不可能的。

编辑: 我应该更具体。 我想知道其他运算符是否有其他版本的 ++ 或 - -。

【问题讨论】:

  • 乘法:a *= 2(类似于a=a*2)都一样。
  • 为什么不variableName += 1variableName -= 1variableName *= 1variableName /= 1variable %= 1
  • 为什么会有人费心在语言中构建一个就地乘以 1 的简写?

标签: java operators shorthand


【解决方案1】:

我认为没有像乘法和除法那样的递增或递减运算符。相反,我们可以像下面这样使用它们

a *= b (a = a * b)

a /= b (a = a / b) 等等..

如果我们想将 x 乘以 1 或将 x 除以 1 也不会对最终结果产生影响..那么需要什么

【讨论】:

    【解决方案2】:

    其他运算符实际上不会更改数字。 例如 x = x * 1; x 不变,为什么要一个不改变 x 值的速记?

    有些语言可以让您为运算符制作自己的速记,但这需要一些研究

    【讨论】:

      【解决方案3】:

      试试这些:

      Int a = 5;
      a += 1;
      a -= 1;
      a *= 2;
      a /= 2;
      

      这些速记够了吗?

      【讨论】:

        【解决方案4】:

        Java 提供的其他数学速记运算符是+= (a = a + number)、*= 等。

        完整的运营商列表可以从here获取。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-02-22
          • 2012-01-20
          • 2018-09-26
          • 2011-12-08
          • 1970-01-01
          • 1970-01-01
          • 2021-06-08
          • 1970-01-01
          相关资源
          最近更新 更多