#example bitwise operator vs lazy operator 

a= c(1,1)
b= c(1,3)
d= c(2,1)

a==1 & b==1 #it evaluates all positions

a==1 && b==1 #it evaluates only the first position
a==1 && d==1 #it evaluates only the first position

a==1  || z==1 #it evaluates only what is necessary

x=0
y=10
(x!=0)&&(y/x) #Evaluation proceeds only until the result is determined
(y/x)
x!=0