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

Posted 呵呵静

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了++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++以及&&的逻辑问题的主要内容,如果未能解决你的问题,请参考以下文章

布尔逻辑:如何简化此 IF 语句?

<<= 和 |= 的含义

一两个“if”语句之间的差异

&& 声明的变量

C# 中的逻辑和条件 AND、OR 有啥区别? [复制]

C++ 中返回 *ptr 和 &x 的区别