Размещение оператора, который вы хотите выполнить только один раз, является одним из способов сделать это, но, конечно, это предполагает, что оператор приходит в конце или в начале цикла и не зависит от условий того, что происходитв цикле (до или после).Если у вас есть что-то вроде этого:
do {
// do some stuff
// one time condition
// do some more stuff
} while(condition);
, вы не сможете легко вытащить эту информацию за пределы цикла.Если это ваша проблема, я бы предложил разместить какое-то условие вокруг одноразовых операторов и обновить условие после выполнения оператора.Как то так:
boolean hasRun = false;
do {
// do some stuff
if(!hasRun) {
// one time condition
hasRun = true;
}
// do some more stuff
} while(condition);