Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java——哪个优先级更高,+;或-_Java_Operator Keyword_Operator Precedence - Fatal编程技术网

java——哪个优先级更高,+;或-

java——哪个优先级更高,+;或-,java,operator-keyword,operator-precedence,Java,Operator Keyword,Operator Precedence,考虑到这一表述: x1 = ++x - x++ + --x 如果输入x的值为5 这种表达式在java中的输出是什么?为什么?在+或-中没有更高的优先级 没有括号,它们只是按顺序执行的,让我们考虑一下你的例子: public class Test { public static void main(String[] args) { int x = 5; int x1 = ++x - x++ + --x; System.out.printl

考虑到这一表述:

x1 = ++x - x++ + --x
如果输入x的值为5


这种表达式在java中的输出是什么?为什么?

在+或-中没有更高的优先级

没有括号,它们只是按顺序执行的,让我们考虑一下你的例子:

public class Test {

    public static void main(String[] args) {
        int x = 5;
        int x1 = ++x - x++ + --x;
        System.out.println(x1);
    }
}
将打印6

有四种递增/递减前/后操作:

  • ++x
    将在求值之前递增(在表达式中使用其值之前)
  • --x
    将在求值之前递减
  • x++
    将在计算后递增(在表达式中使用其值后)
  • x--
    将在评估后执行MNT
将表达式拆分为多个部分:

1) “
++x
”在表达式中使用其值之前,x将递增1,因此现在它是:

6 -
2) “
-x++
”在表达式中使用x的值后,x将递增1,因此:

6 - 6 , but now x=7
3) “
+--x
”在使用其值之前,x将递减1,因此它最终转换为:

x1 = 6 - 6 + 6;
这将按以下方式执行:

x1 = 0 + 6;
x1 = 6;

显然,在
+
-
中没有更高的优先级,因为它只是按照出现的顺序减去和添加。

x1
将是
6
+和
-
具有相同的优先级,但是
++
前缀/后缀运算符的优先级高于
++
-
。看见您还必须记住,表达式是从左到右求值的。请在此处尝试,并告知我们: