首页 > 代码库 > ++x和x++以及&&的逻辑问题

++x和x++以及&&的逻辑问题

1 public class Test3 {
 2     public static void main(String[] args) {
 3         int x = 0;
 4         int y = 0;
 5         int k = 0;
 6         for (int z = 0; z < 5; z++) {
 7             if ((++x > 2) && (++y > 2) && (k++ > 2)) {
 8                 x++;
 9                 ++y;
10                 k++;
11             }
12         }
13         System.out.println("x = " + x);
14         System.out.println("y = " + y);
15         System.out.println("k = " + k);
16     }
17 }

运算结果:

  x = 5
  y = 3
  k = 1

分析:首先++x为x=x+1;x++为x=0,x=x+1,而&&只要第一个为false,后面的代码将不会执行,同样的对于||只要第一个为true,后面的代码将不会执行

++x和x++以及&&的逻辑问题