JAVA中:
逻辑运算符有:”&&”(短路与),”&”,”|”,”||”(短路或)。
“&&”和“&”的区别:
“&&”:只要第一个条件为false,后面条件就不再判断。
“&”:对所有的条件都进行判断,不管第一个条件是否是true
“|”和“||”的区别:
“|”:对所有的条件进行判断
“||”:只要第一个条件为true,后面的条件就不再判断
实例代码:
“&&”第一种情况:(true) && (true)结果为true,“&&”右边会执行
即当左边为true时会判断右边的值,如果右边为true则结果为true,如果右边为false则整体结果为false。
public static void main(String[] args) {
//定义一个变量作为标记
int k=0;
//这里要注意左“++”和右“++”的区别,这里使用左“++”
if ((1 == 1) && (++k==1)) {
System.out.println("我是if中的K="+k);
} else {
System.out.println("我是else中的k="+k);
}
}
总结:这里要弄清左“++”和右“++”的区别,否则会弄巧成拙。
当“&&”左边条件满足时,右边会执行,但是执行右边的“++k”是先进行“++”后进行“==”运算所以这是整体的值为“true”,此时“k=1”。说明“&&”右边条件执行了。
“&&”第二种情况:(false)&&(true)结果为false,“&&”右边不会执行
即如果“&&”左边条件为false则“&&”右边的条件不会执行,整体结果为false。
public static void main(String[] args) {
//定义一个变量作为标记
int k=0;
//这里要注意左“++”和右“++”的区别,这里使用左“++”
if ((2 == 1) && (++k==1)) {
System.out.println("我是if中的K="+k);
} else {
System.out.println("我是else中的k="+k);
}
}
总结:这里要弄清左“++”和右“++”的区别,否则会弄巧成拙。
当“&&”左边的条件不满足时,右边不会执行,直接走else,此时“k=0”。说明“&&”右边条件没有走。