首页 > 解决方案 > 任何人都可以调试结果吗?并解释 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("<");
    }

输出:--,<

标签: javafor-loop

解决方案


该语句x++意味着递增x1,但产生x(在递增之前)的原始值。在语句x = x++中,x++首先执行部分,始终产生 3。之后执行分配,将 3 分配给x,因此x永远不会改变。


推荐阅读