在java中后缀与一元和加法有什么区别

在java中后缀与一元和加法有什么区别,java,logic,Java,Logic,请帮助我理解两个“真”和“假”输出之间的区别。 并指导我如何在Oracle文档中获取与逻辑和运算符相关的主题 int i = 1; int j = 2; System.out.println(i==j--);// FALSE j = 2; System.out.println(i==j-1);//TRUE j = 2; System.out.println(i==--j);//TRUE i==j--表示i==j;j=j-1 i==j-1表示i==(j-1) i==--j表示j=j-1;i==

请帮助我理解两个“真”和“假”输出之间的区别。 并指导我如何在Oracle文档中获取与逻辑和运算符相关的主题

int i = 1;
int j = 2;

System.out.println(i==j--);// FALSE
j = 2;
System.out.println(i==j-1);//TRUE
j = 2;
System.out.println(i==--j);//TRUE
i==j--
表示
i==j;j=j-1

i==j-1
表示
i==(j-1)

i==--j
表示
j=j-1;i==j

,按从高到低的顺序排列。例如,
-
的优先级高于
=
,这就是为什么
i==j-1
表示
i==(j-1)
i==j--
表示
i==j;j=j-1

i==j-1
表示
i==(j-1)

i==--j
表示
j=j-1;i==j

,按从高到低的顺序排列。例如,
-
的优先级高于
=
,这就是为什么
i==j-1
意味着
i==(j-1)

的区别在于:

j--发生在调用之后(因此在比较过程中,i==j是j的当前值)

j-1是表达式的一部分,因此也是计算的一部分

--j是前置函数调用,因此在(前缀)之前减去它。

差值为:

j--发生在调用之后(因此在比较过程中,i==j是j的当前值)

j-1是表达式的一部分,因此也是计算的一部分


--j是前置函数调用,因此在(前缀)

之前将其减去。下表中列出了等价项,以及在每行开始处
i
1
j
2
的说明:

i==j--;   i==j; j--;  // 1==2 is false, j <- 1
i==j-1;   i==j-1;     // 1==(2-1) is true, j does not change
i==--j;   --j; i==j;  // j <- 1, 1==1 is true

i==j--;i==j;j--;//1==2为假,j下表列出了等价项,以及在每行开头的
i
1
j
2
的解释:

i==j--;   i==j; j--;  // 1==2 is false, j <- 1
i==j-1;   i==j-1;     // 1==(2-1) is true, j does not change
i==--j;   --j; i==j;  // j <- 1, 1==1 is true

i==j--;i==j;j--;//1==2为假,请查看以获取他和其他类似问题的答案。@HovercraftFullOfEels感谢您的指导。感谢您的所有评论和回答……。请查看以获取他和其他类似问题的答案。@HovercraftFullOfEels感谢您的指导指导。感谢您的所有评论和回答。。。。。。。。。。。