¿Hay alguna diferencia entre usar un operador lógico o un operador bitwise en un bloque if en Java?

El contenido de los dos siguientes si los bloques deben ejecutarse:

if( booleanFunction() || otherBooleanFunction() ) {...}
if( booleanFunction() | otherBooleanFunction() ) {...}

Entonces, ¿cuál es la diferencia entre usar| o usando||?

Nota: miré esto y encontré mi propia respuesta, que incluí a continuación. Por favor, siéntase libre de corregirme o dar su propia opinión. ¡Seguro que hay espacio para mejorar!

Respuestas a la pregunta(5)

Su respuesta a la pregunta