Основы программирования с Java - стр. 31
В некотором смысле, вы можете думать об этом как запереть ячейку памяти и запретить любую попытку изменить ее значение в другой части программы.
Можно сказать, что, если студент сдал плохо экзамены, но сделал хорошо лабораторные работы, попытка уменьшить вес для экзамена и увеличить вес для лабораторных будет блокирована.
Демонстрация примера
Давайте теперь посмотрим на программу в среде IntelliJ IDEA. Мы откроем проект под названием CourseGrade, который является программой, которую мы только что обсуждали.
Откроем файл CourseGrade в редакторе исходного кода.
И вы можете видеть, что эта программа та, которую мы только что обсуждали.
И эта программа еще не скомпилирована.
Попробуем скомпилировать программу с помощью меню Build Project.
Вы можете видеть, что программа успешно компилируется без ошибок синтаксиса.
Давайте попробуем запустить программу с помощью кнопки Run.
Теперь вы можете видеть, что приглашение ввести ваши оценки экзаменов отображается в окне терминала.
Скажем, что это очень хороший ученик и получил отличные оценки на экзаменах, лабораторных, а также домашних заданиях.
Обратите внимание, что мы вводим с десятичной запятой, 100,0, для каждой из оценок.
И в результате, по какой-то причине, итоговая оценка вернулась программой как 0.0.
Я уверен, что студент будет очень недоволен. Давайте попробуем выяснить, что вызывает эту проблему.
В IntelliJ IDEA, есть очень полезный инструмент отладки, который позволит нам проследить выполнение программы.
Инструмент очень полезен для отслеживания ошибок.
Давайте попробуем выяснить, есть ли какие-либо проблемы после того, как оценки были введены в программу, установив точку останова после объявлений IO.
Для этого просто нажмем на соответствующее место вдоль правого столбца в окне редактора.
Вы можете нажимать в этих местах, чтобы установить или очистить точки останова.
После того, как точка останова устанавливается, IntelliJ IDEA выполняет программу до инструкции, где точка останова была установлена.
Давайте начнем выполнение снова, нажав кнопку Debug.
И введем ту же оценку, 100,0, для экзаменационной оценки, 100,0 для лабораторной.
Давайте попробуем для домашних работ введем просто 100 без 0,0, чтобы сделать преобразование неявного типа, так как переменная hwScore имеет double тип и диапазон значений для int представляет собой подмножество для double.
Когда вы нажмете return, вы увидете, что окно редактора появляется с выражением, выделенным в точке останова.
Что еще более важно, при этом выскочило окно отладчика.
Это позволит вам просматривать текущее состояние программы, когда выполнение останавливается в точке останова.