转自:http://blog.csdn.net/lishiyuzuji/article/details/8116516html
在Java的逻辑运算符中,有这么四类:&&(短路与),&,|,||(短路或)。java
&&和&都是表示与,区别是&&只要第一个条件不知足,后面条件就再也不判断。而&要对全部的条件都进行判断。web
看下面的程序:app
输出的是“没有报错”。而将&&改成&就会以下错误:oop
缘由是:&&时判断第一个条件为false,后面的100/0==0这个条件就没有进行判断。
&时要对全部的条件进行判断,因此会对后面的条件进行判断,因此会报错。
||和|都是表示“或”,区别是||只要知足第一个条件,后面的条件就再也不判断,而|要对全部的条件进行判断。
看下面的程序:this
此时输出“运算没有问题”。若将||改成|则会报错。
缘由是:||判断第一个条件为true,后面的条件就没有进行判断就执行了括号中的代码,而|要对全部的条件进行判断,
因此会报错。spa