Недавно я просматривал базовые знания Java, и некоторые из них касаются циклов, в Java синтаксис циклов делится на 3 типа:for
,while
,do-while
,Как показано ниже:
Но я был удивлен, обнаружив, что в своей предыдущей карьере (11 лет) я никогда не использовалdo-while
(смущенно), поэтому я спросил у друзей в группе и обнаружил, что мало кто ей пользуется.
синтаксический анализ do-while
Давайте сначала разберемся с синтаксисом do-while:
do {
// statements
} while (expression);
Уведомление:Нельзя опускать последнюю точку с запятой, иначе будет выдана ошибка компиляции.
Поток его выполнения показан на следующем рисунке:Так где именно он используется?
сценарии использования do-while
После долгих поисков и консультаций я наконец нашел два относительно удовлетворительных сценария использования, давайте рассмотрим их вместе.
Используйте сценарий 1: возьмите билеты
Для бизнеса захвата билетов, независимо от того, является ли он 3721, сначала захватите его, а затем оцените, был ли захват билетов успешным.Если захват билетов прошел успешно, выйдите из цикла, в противном случае продолжите выполнение захвата билетов.Реализован псевдокод как следует:
do {
// 抢票代码...
} while (没抢到票);
Поставщик идей: г-н Цзя
Используйте сценарий 2: двоичное преобразование
После долгих поисков было обнаружено, что в исходном коде JDK также есть небольшое количество применений.do-while
Сцена, напримерInteger
В бинарном преобразовании соответствующий исходный код следующим образом:
static int formatUnsignedInt(int val, int shift, char[] buf, int offset, int len) {
int charPos = len;
int radix = 1 << shift;
int mask = radix - 1;
do {
buf[offset + --charPos] = Integer.digits[val & mask];
val >>>= shift;
} while (val != 0 && charPos > 0);
return charPos;
}
Например, этот метод выполнит преобразование из десятичного числа в двоичное.В бизнесе двоичного преобразования, независимо от ситуации, будет выполнено хотя бы одно двоичное преобразование, поэтому этот бизнес-сценарий очень подходит.do-while
.
Суммировать
Конфуций сказал: пересмотрите старое и изучите новое. После того, как мы узнали много знаний, мы возвращаемся назад и размышляем над ними, и находим их очень интересными — это одна из величайших радостей знания. В этой статье мы вводим дваdo-while
сценарии использования, захват билетов и преобразование системы, что еще вы знаете?do-while
Сценарии использования? Добро пожаловать на область комментариев, чтобы сказать мне ~
Подпишитесь на официальный аккаунт «Java Chinese Community» и отправьте «Интервью», чтобы получить последние материалы обзора интервью, которые я собрал.