便宜VPS主机精选
提供服务器主机评测信息

java中&和&&有什么区别

在Java中,& 和 && 都是逻辑与操作符,但有一些区别。

  1. & 是按位与操作符,用于对两个操作数的每个对应的位执行位与操作。它不会短路求值,即使第一个操作数为 false,也会对第二个操作数进行计算。
  2. && 是短路逻辑与操作符,用于对两个操作数进行逻辑与操作。它会进行短路求值,如果第一个操作数为 false,就不会对第二个操作数进行计算。

下面是一个示例,演示了两者之间的区别:

int a = 5;
int b = 10;

if (a > 0 & b++ < 20) {
    // 该条件为 true,b 的值会增加
    System.out.println("Both conditions are true");
}

System.out.println(b);   // 输出结果为 11

int c = 5;
int d = 10;

if (c > 0 && d++ < 20) {
    // 该条件为 true,d 的值会增加
    System.out.println("Both conditions are true");
}

System.out.println(d);   // 输出结果为 10

在上面的示例中,使用 & 操作符时,无论第一个操作数是否为 false,都会对第二个操作数进行计算,因此 b 的值增加了。而在使用 && 操作符时,如果第一个操作数为 false,就不会对第二个操作数进行计算,因此 d 的值没有增加。

未经允许不得转载:便宜VPS测评 » java中&和&&有什么区别