java - 任何人都可以调试结果吗?并解释 x 的值
问题描述
发生了什么x=x++;
,我需要解释为什么x
在循环之后仍然是 3 #
public static void main(String[] args) {
int x=3;
for(int i=0;i<3;i++) {
if(i==1) {
x=x++;
}
if(i%2==0&&x%2==0) {
System.out.print(".");
}
if(i%2==0&&x%2==1) {
System.out.print("-");
}
if(i==2^x==4) {
System.out.print(",");
}
}
System.out.print("<");
}
输出:--,<
解决方案
该语句x++
意味着递增x
1,但产生x
(在递增之前)的原始值。在语句x = x++
中,x++
首先执行部分,始终产生 3。之后执行分配,将 3 分配给x
,因此x
永远不会改变。
推荐阅读
- javascript - 变量的值未正确作为参数传递给方法
- css - 调整浏览器大小时,如何优先显示首先显示的列?
- pine-script - 从 pine script v 2 到版本 4 的 Tradingview 指标
- r - 如何在 aod 中通过 betabin 对模型进行事后测试(成对比较)?
- python - 有没有办法让我在 pandas DataFrame 中找到值的索引/位置?(Python)
- python - ImportError:无法从“requests_oauthlib”导入名称“OAuth1Session”
- javascript - 如何在何时修复列位置in row 被切换为隐藏/显示,无/阻止
我的 2x2 表中的列数根据选择中选择的值(1 或 2)扩展或收缩。目前,随着列的增加或减少,屏幕上的列位置会发生很大变化。无论一行出现多少列,如何修复屏幕上的列?