Of course (due to what may be a type) the code in the first example may actually run twice, where this can not happen in the secondand third.

If that is a typo, then option 3 will typically b the best bet. Remember to put the most likely (if there is one) condition first to get maximum benefit from short circuiting.