e.g.
Full Evaluation
if ((sName==null) | (sName="~empty~"))
...do something
...do something
will cause an exception if sName is null as the second comparions (="~empty~") will be performed.
Lazy Evaluation
...do something
will not cause an exception if sName is null because as the rest of the expression is an OR the result will be true irrespective of the rest of the expression, and so the rest of the expression is ignored.