发布网友
共1个回答
热心网友
在Java中,&和&&都是逻辑运算符,用于判断两边的表达式是否同时为真。它们的主要区别在于短路行为。
例如,在使用&运算符时,即使第一个条件不成立,也会继续执行第二个条件。考虑以下代码段:
public class Test2{
public static void main(String[] args){
int i=3;
if((i++>5)&(i++<9)){
System.out.println(i);
System.out.println("恭喜,执行完了条件语句!");
}
System.out.println(i);
}
}
在这个例子中,i的初始值为3,条件判断(i++ > 5)和(i++ < 9)都被执行了。即使第一个条件不成立,第二个条件依然被执行。
而在使用&&运算符时,如果第一个条件不成立,后面的条件将不会被检查。考虑以下代码段:
public class Test2{
public static void main(String[] args){
int i=3;
if((i++>5)&&(i++<9)){
System.out.println(i);
System.out.println("恭喜,执行完了条件语句!");
}
System.out.println(i);
}
}
在这个例子中,i的初始值为3,条件判断(i++ > 5)被执行后,发现不成立,因此后面的条件(i++ < 9)没有被执行。这使得i只自加了一次。
总结来说,&和&&的主要区别在于短路行为。&会继续执行所有条件,而&&会在第一个条件不成立时停止执行后续条件。