цикл do / while гарантирует, что тело do / while будет выполнено хотя бы один раз, после чего проверяется условие цикла.
С другой стороны, if
гарантирует, что код не будетвыполняется вообще, если условие не выполняется.
Внутренне для них нет никакой разницы, за исключением точки, в которой проверяются условия цикла.