& is a simple conjunction.
&& will stop test in case of false.
So for example if I have the string parameter and I want to check:
if(parameter==null) and if(parameter.contains("apple"))
It will be incorrect to use & because you cant test the second condition if parameter is null.
so I will do:
if(parameter==null && parameter.contains("apple")) //do something