java中基础知识求大神解答

在java中,|和||、&和&&的区别?它们的作用分别是什么,求解答。。。

|和||、或者 的意思
if(1==1|2==2){} : 在程序中两个都进行判断,只要有一个符合条件就执行{}中的代码
if(1==1||2==2){} : 在程序中先进行 1==1 判断 如果符合条件就执行{}中的代码,如果不符合条件就判断2==2,是否相同,所以||的效率更高

&和&& 并且的意思
if(1==1&2==2){} : 在程序中两个都进行判断,;两个同时符合条件才执行{}中的代码
if(1==1&&2==2){} : 在程序中先进行 1==1 判断 如果不符合条件就不执行{}中的代码,如果符合条件就判断2==2,是否相同,所以||的效率更高

最简单的来讲,就是如果是单个的| 、&那么不管你的if里面有多少个判定条件,那么不管中间出什么问题,都会执行完毕。||在N个判定条件里面只要有一个返回
TRUE,那么就会直接进入下一步,&&只要有一个为FALSE直接进入else里面。最重要的是一般在判定空的时候都会在第一个里面做null判定,然后
后面才会做其他判定。如果你使用|、&那么很可能就会有nullpointException,使用||、&&就不会有这个问题了