System.out.println(false&(1/0==0))和System.out.println(false&&(1/0==0))的区别?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/10/06 11:19:42
System.out.println(false&(1/0==0))和System.out.println(false&&(1/0==0))的区别?
System.out.println(false&(1/0==0))和System.out.println(false&&(1/0==0))的区别?
System.out.println(false&(1/0==0))和System.out.println(false&&(1/0==0))的区别?
false&(1/0==0)会报错,因为执行了1/0==0
false&&(1/0==0)不会报错
其实在进行逻辑与运算时,既可以使用&&也可以使用&,在功能上本身没有区别。两者区别的位置在,对于&来说,如果左侧条件为false,也会计算右侧条件的值,而对于&&来说,如果左侧的条件为false,则不计算右侧的条件,这种现象被称作短路现象。
例如:
int n = -1;
boolean b1 = (n >= 0) && (n < 10);
boolean b2 =...
全部展开
其实在进行逻辑与运算时,既可以使用&&也可以使用&,在功能上本身没有区别。两者区别的位置在,对于&来说,如果左侧条件为false,也会计算右侧条件的值,而对于&&来说,如果左侧的条件为false,则不计算右侧的条件,这种现象被称作短路现象。
例如:
int n = -1;
boolean b1 = (n >= 0) && (n < 10);
boolean b2 = (n >= 0) & (n < 10);
则对于第二行代码来说,两个条件都将被计算,而对于第三行代码来说,因为n >= 0这个条件不成立,则n < 10根本不会被执行。当然,两者得到的最终结果是一样的
收起