java:为什么z不是等于1

请问最后这个z为什么不是1,不是和y一样用完后自加1吗,为什么最后z输出的结果是0


    public static void main(String[] args) {

        int x = 0;  // 定义变量x,初始值为0

        int y = 0;  // 定义变量y,初始值为0

        int z = 0;  // 定义变量z,初始值为0

        boolean a, b;  // 定义boolean变量a和b

        a = x > 0 & y++ > 1;  // 逻辑运算符&对表达式进行运算

        System.out.println(a);

        System.out.println("y = " + y);

        b = x > 0 && z++ > 1; // 逻辑运算符&&对表达式进行运算

        System.out.println(b);

        System.out.println("z = " + z);

    }

img

变成

b = x > 0 & z++ > 1;

img

  • 建议你看下这篇博客👉 :试写一算法,自大至小依次输出顺序读入的三个整数X,Y和Z的值
  • 除此之外, 这篇博客: Java基础练习50个,附上源代码中的 15 输入三个整数x,y,z,请把这三个数由小到大输出。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 题目:输入三个整数x,y,z,请把这三个数由小到大输出。

    /**
     * @author keli
     * 题目:输入三个整数x,y,z,请把这三个数由小到大输出。
     */
    public class JavaTest15 {
        public static void main(String[] args){
            int x,y,z;
            java.util.Scanner scanner=new java.util.Scanner(System.in);
            System.out.println("请输入三个整数,以空格隔开");
            x=scanner.nextInt();
            y=scanner.nextInt();
            z=scanner.nextInt();
            if(x>y){
                int temp=x;
                x=y;
                y=temp;
            }
            if(y>z){
                int temp=y;
                y=z;
                z=temp;
            }
            if(x>y){
                int temp=x;
                x=y;
                y=temp;
            }
            System.out.println("从小到大的顺序为:"+x+" "+y+" "+z);
        }
    }