java中运算符优先级的性质
我想知道下面的代码如何生成“-1”输出 上述代码生成输出“-1”,但如何生成?有人能解释一下吗?java中运算符优先级的性质,java,loops,operator-keyword,core,Java,Loops,Operator Keyword,Core,我想知道下面的代码如何生成“-1”输出 上述代码生成输出“-1”,但如何生成?有人能解释一下吗? 提前谢谢你 i以-2开头。检查i++是否大于0。这会导致错误,因为-2i以-2开头。检查i++是否大于0。这会导致错误,因为在for循环中,-2对于(i=-2,j=2;i++>0;j-)i将在比较之前首先递增,此时i是-1,并且因为它不是-0,它正在退出循环。对于(i=-2,j=2;i++>0;j-)i将在比较之前首先递增,此时i为-1,并且由于它不是>0,因此退出循环 i=-20是false(因为
提前谢谢你
i
以-2
开头。检查i++
是否大于0
。这会导致错误,因为-2i
以-2
开头。检查i++
是否大于0
。这会导致错误,因为在for循环中,-2对于(i=-2,j=2;i++>0;j-)
i
将在比较之前首先递增,此时i
是-1
,并且因为它不是-0
,它正在退出循环。对于(i=-2,j=2;i++>0;j-)
i
将在比较之前首先递增,此时i
为-1
,并且由于它不是>0
,因此退出循环
i=-2因为i++>0
是false
(因为-2
i=-2;
因为i++>0
是false
(因为-2你的答案是因为你写了for循环。
您的流不会进入循环内部。
变量i的初始值为-2,j为2,
“for循环”的条件是-i应该大于0(因为它的后增量),而这里的代码并没有进入“for循环”内部,因为i中的值是-2,然后发生后增量(i++),i的值变成-1,并打印出来。
有关详细信息,请阅读您的答案是因为您编写了for循环。
您的流不会进入循环内部。
变量i的初始值为-2,j为2,
“for循环”的条件是-i应该大于0(因为它的后增量),而这里的代码并没有进入“for循环”内部,因为i中的值是-2,然后发生后增量(i++),i的值变成-1,并打印出来。
有关详细信息,请阅读与运算符优先级无关的内容
无论以何种顺序执行i++>0
中的运算符,结果总是一样的:当您从i=-2
开始时,结果将是false
,i
的值将是-1与运算符优先级无关
无论以何种顺序执行i++>0
中的运算符,结果总是相同的:当您以i=-2
开始时,结果将是false
,i
的值将是-1的可能重复
class Demo1
{
public static void main(String[] arg)
{
int i,j;
for(i=-2,j=2;i++>0;j--)
{
i=++i;
}
System.out.print(i);
}
}