Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Утверждения Java

Утверждения Java

В этом руководстве мы узнаем об операторе утверждения Java (утверждениях Java) с помощью примеров.

Утверждения в Java помогают обнаруживать ошибки путем тестирования кода, который мы считаем верным.

Утверждение делается с использованием 09 ключевое слово.

Его синтаксис:

05

Здесь 10 является логическим выражением, которое мы предполагаем истинным при выполнении программы.

<час>

Включение утверждений

По умолчанию утверждения отключены и игнорируются во время выполнения.

Чтобы включить утверждения, мы используем:

15 

ИЛИ

22

Когда утверждения включены и условие равно 29 , программа выполняется нормально.

Но если условие оценивается как 31 пока утверждения включены, JVM выдает 42 , и программа немедленно останавливается.

<час>

Пример 1:утверждение Java

36

Вывод

44

Мы получаем приведенный выше вывод, потому что в этой программе нет ошибок компиляции и по умолчанию утверждения отключены.

После включения утверждений мы получаем следующий вывод:

53
<час>

Другая форма оператора утверждения

65

В этой форме оператора утверждения выражение передается конструктору 55. объект. Это выражение имеет значение, которое отображается как подробное сообщение об ошибке, если условие равно 69. .

Подробное сообщение используется для захвата и передачи информации об ошибке утверждения, чтобы помочь в отладке проблемы.

<час>

Пример 2:утверждение Java с примером выражения

77

Вывод

84

Как мы видим из приведенного выше примера, выражение передается конструктору 79 объект. Если наше предположение равно 81 и утверждения включены, возникает исключение с соответствующим сообщением.

Это сообщение помогает диагностировать и исправить ошибку, вызвавшую сбой утверждения.

<час>

Включение проверки для определенных классов и пакетов

Если мы не предоставим никаких аргументов переключателям командной строки утверждения,

94

Это включает утверждения во всех классах, кроме системных классов.

Мы также можем включить утверждение для определенных классов и пакетов, используя аргументы. Аргументы, которые могут быть предоставлены этим переключателям командной строки:

Включить утверждение в именах классов

Чтобы включить утверждение для всех классов нашей программы Main,

101

Чтобы включить только один класс,

119

Это позволяет утверждать только в 93 в 102 программа.

Включить утверждение в именах пакетов

Чтобы включить утверждения для пакета 118 и только его подпакеты,

124

Включить утверждение в безымянных пакетах

Чтобы включить утверждение в безымянных пакетах (когда мы не используем оператор пакета) в текущем рабочем каталоге.

138

Включить утверждение в системных классах

Чтобы включить утверждение в системных классах, мы используем другой переключатель командной строки:

141

ИЛИ

154

Аргументы, которые могут быть переданы этим переключателям, одинаковы.

<час>

Отключение утверждений

Чтобы отключить утверждения, мы используем:

160

ИЛИ

173

Чтобы отключить утверждение в системных классах, мы используем:

181

ИЛИ

191

Аргументы, которые можно передать при отключении утверждений, такие же, как и при их включении.

<час>

Преимущества утверждения

  1. Быстрое и эффективное обнаружение и исправление ошибок.
  2. Проверки утверждений выполняются только во время разработки и тестирования. Они автоматически удаляются в производственном коде во время выполнения, чтобы не замедлять выполнение программы.
  3. Это помогает удалить шаблонный код и сделать код более читабельным.
  4. Рефакторинг и оптимизация кода с большей уверенностью в том, что он работает правильно.
<час>

Когда использовать утверждения

1. Недоступные коды

Недостижимые коды — это коды, которые не выполняются, когда мы пытаемся запустить программу. Используйте утверждения, чтобы убедиться, что недостижимые коды действительно недостижимы.

Возьмем пример.

206

Возьмем еще один пример оператора switch без регистра по умолчанию.

214

Приведенный выше оператор switch указывает, что дни недели могут быть только одним из 7 указанных выше значений. Отсутствие случая по умолчанию означает, что программист считает, что один из этих случаев всегда будет выполняться.

Однако могут быть некоторые еще не рассмотренные случаи, когда предположение на самом деле неверно.

Это предположение следует проверить с помощью утверждения, чтобы убедиться, что случай переключения по умолчанию не достигнут.

224

Если деньнедели имеет значение, отличное от действительных дней, 121 бросается.

<час>

2. Документирование предположений

Чтобы задокументировать лежащие в их основе предположения, многие программисты используют комментарии. Возьмем пример.

232

Вместо этого используйте утверждения.

Комментарии могут устаревать и рассинхронизироваться по мере роста программы. Однако мы будем вынуждены обновить 134 заявления; в противном случае они могут не работать и при допустимых условиях.

246
<час>

Когда не следует использовать утверждения

1. Проверка аргументов в общедоступных методах

Аргументы в общедоступных методах могут быть предоставлены пользователем.

Таким образом, если для проверки этих аргументов используется утверждение, условия могут не сработать и привести к 148 .

Вместо использования утверждений пусть это приводит к соответствующим исключениям во время выполнения и обрабатывает эти исключения.

<час>

2. Для оценки выражений, влияющих на работу программы

Не вызывайте методы и не оценивайте исключения, которые впоследствии могут повлиять на работу программы в условиях утверждения.

Возьмем пример списка будние дни который содержит названия всех дней недели.

255

Здесь мы пытаемся удалить элементы 152 и 161 из ArrayList дни недели .

Если утверждение включено, программа работает нормально. Однако если утверждения отключены, элементы из списка не удаляются. Это может привести к сбою программы.

Вместо этого присвойте результат переменной, а затем используйте эту переменную для утверждения.

260

Таким образом, мы можем гарантировать, что все выходные удаляются из будних дней независимо от того, включено или отключено утверждение. В результате это не повлияет на работу программы в дальнейшем.


java

  1. Операторы Java
  2. Java-комментарии
  3. Оператор Java if...else
  4. Java для каждого цикла
  5. Java-строки
  6. Java-интерфейс
  7. Анонимный класс Java
  8. Java-проба с ресурсами
  9. Java-аннотации
  10. Java вектор