1.相同之处:在Java和javascript中运算结果一致
但&&具有短路效果。当左边是flase时,右边不再执行。
(同理双或||。左边是true时,右边不执行。)
- 逻辑与:&—— 有false则false
逻辑或:| —— 有true则true
class Test{
public static void main(String[] args){
int x=7, y=8;
//boolean b=((x++ == 7) & (y++ == 8)); //8 9 true
//boolean b=((x++ == 7) && (y++ == 8)); //8 9 true
//boolean b=((++x == 7) & (y++ == 8)); //8 9 flase
boolean b=((++x == 7) && (y++ == 8)); //8 8 flase
//注意的是:后面的y为8! &&前执行完为flase,之后直接就不执行了,得出flase
System.out.println("x:"+x+" y:"+y+" "+b);
}
摘自:https://blog.csdn.net/u013317445/article/details/81531560
2.不同之处:
- 在javascript中true&true的结果是1,false&true的结果是0
在java中true&true的结果是true,false&true的结果是false
但是不影响在if语句中的使用。
<script type="text/javascript">
/*声明变量:算术运算*/
/*var a="123a";
var b=2;
alert(a+b);
var c=true
var d="1"
alert(c+d);
alert(a-d);*/
/*声明变量:逻辑运算*/
var a=true;
var b=true;
alert(a&b);//输出1
if(a&b){
alert("成功输出");
}
var a=true;
var b=false;
alert(a&b);//输出0
if(a&b){
alert("成功输出");
}//该语句不执行
</script>