我正在尝试使用Java来理解运算符优先级。基于我所阅读的内容,我认为以下代码应该有效:
System.out.println(("" + (1--2)));
我认为应按此顺序进行评估:
所以我希望它打印3但它似乎不是合法代码。有人可以解释我的错误吗?
您需要像这样输入:
System.out.println(("" + (1-(-2))))
在这种情况下,“ - ”不被识别为有效运算符,因此导致编译器错误。此外,它将返回3,而不是-1。
编辑:如上所述,另一种输入方法是在“ - ”之间加一个空格,如下所示:
System.out.println(("" + (1 - -2)))
Java将--
作为递减运算符读取,这意味着它需要附加到变量以获得正确的语法,而不是文字旁边。你可以通过简单地在两个-
symbols之间放一个空格来解决这个问题,即System.out.println(("" + (1- -2)));