Вычисление простых выражений — КиберПедия 

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

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

Вычисление простых выражений

2019-09-17 185
Вычисление простых выражений 0.00 из 5.00 0 оценок
Заказать работу

Кратко: Чтобы вычислить выражение, введите его в панель кода и нажмите Enter.

Панель кода позволяет оценить значения простых выражений. Введите, например:

4 + 45

"Hello".length ()

Math.max (33, 4)

(int) 33.7

javax.swing. JOptionPane.showInputDialog (null, "Name")

В выражениях можно использовать стандартные элементы и объекты Java, а также классы из текущего проекта. Панель кода отобразит значение результата с указанием его типа (в скобках). Если выражение неправильно, будет выведено сообщение об ошибках,.

Можете также использовать объекты, находящиеся на стенде. Попробуйте поместите объект класса Student на стенд, использовав контекстное меню класса. Назовите объект student1.

В панели кода введите оператор

 student1.getName ()

Так же можно обратиться ко всем доступным методам классов Вашего проекта.

Перемещение объектов с панели кода на стенд

Кратко: Для перемещения объекта с панели кода на стенд, перетащите маленькую пиктограмму объекта.

Результаты некоторых выражений - объекты, а не простые значения. В этом случае результат показывается как <ссылка на объект> с указанием типа объекта. В строке результата слева выводится маленькая пиктограмма объекта (Рисунок 14).

Рисунок 14: Объект как результат выражения, введенного в панели кода

Если результат - строка, значение строки будет отображено, но Вы увидите также маленький значок объекта (так как строки - объекты).

Вот примеры выражений, при помощи которых можно создать объекты

new Student()

"marmelade".substring(3,8)

new java.util.Random()

"hello" + "world"

Маленький значок объекта можно теперь использовать для продолжения работы с объектом-результатом. Можно указать на значок и перетащить его на стенд (Рисунок 15). При перетаскивании от Вас потребуется задать имя объекта. Когда объект будет на стенде, его методы будут доступны или через контекстное меню или при наборе оператора вызова метода в панели кода.

Рисунок 15: Перемещение объекта на стенд

Инспекция объектов

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

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

Выполнение операторов

Кратко: Операторы, набранные в панели кода, выполняются.

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

System.out.println("Gurkensalat");

System.out.println(new java.util.Random().nextInt(10));

В конце оператора обязательно должна быть точка с запятой.

Многострочные операторы и последовательности операторов

Кратко: shift-Enter в конце строки является признаком продолжения оператора (цепочки операторов) в следующую строку.

Можете ввести последовательности операторов или операторы, занимающие несколько строк, используя shift-Enter в конце промежуточной строки. Нажатие shift-enter переместит курсор в начало следующей строки, но не приведет к выполнению оператора. В конце последней строки нажмите просто Enter. Попробуйте, например, для цикла:

for (int i=0; i<5; i++) {
  System.out.println("number: " + i);
}

Работа с переменными

Кратко: В одном многострочном операторе можно использовать локальные переменные. Имена объектов со стенда могут использоваться как поля объекта «Стенд».

Переменные - поля объектов и локальные переменные - могут использоваться в панели кода с ограничениями.

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

int sum;
sum = 0;
for (int i=0; i<100; i++) {
sum += i;
}
System.out.println("The sum is: " + sum);

Вводя ту же самую последовательность отдельными строками (т.е. нажимая в конце каждой строки Enter), мы не получим результат, так как локальная переменная sum перестает существовать после нажатия Enter и выполнения оператора.

Вы можете думать о вводимом в панель кода тексте как о тексте в пределах тела метода. Любые операторы, допустимые для записи в теле метода, допустимы также в панели кода. Однако части кода, разделенные нажатиями Enter, относятся к разным методам, и Вы не можете обращаться из одной части к переменным, объявленным в другой части[5].

Вы должны думать об объектах на стенде как о полях специального объекта «стенд». Нельзя определить никаких новых полей этого объекта из панели кода, также как нельзя определить новые поля обычного объекта в методе объекта. Однако можно обратиться к «полям» объекта «стенд» (объектам проекта) и выполнять их методы.

Можно создать новое «поле» на стенде, переместив объект с панели кода на стенд.

История команд

Кратко: Стрелка "вверх" и стрелка "вниз" перемещают по набранным и выполненным в панели кода строкам.

Панель кода хранит историю набранных строк. Используя клавиши «вверх» и «вниз», можно выбрать предыдущие строки, которые могут быть отредактированы и снова выполнены.

.


Отладка

Этот раздел вводит самые важные аспекты функциональных возможностей отладки в BlueJ. Беседуя с преподавателями программирования, мы часто слышали, что было бы хорошо знакомить студентов с использованием отладчика на первом году обучения, но для этого совершенно нет времени. Студенты сражаются с редактором, компилятором, выполнением, а на знакомство с таким важным инструментом времени не остаётся.

Именно поэтому мы решили упростить отладчик, насколько это возможно. Преследовалась цель создать отладчик, правила работы с которым можно было бы объяснить за 15 минут, после чего студенты смогли бы пользоваться им самостоятельно. Давайте посмотрим, насколько это удалось.

Прежде всего, мы ограничились тремя функциями традиционных отладчиков:

  • установка точек прерывания
  • пошаговое выполнение кода
  • контроль значений переменных

Каждая из этих задач очень проста. Выполним их по порядку.

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

Установка точек прерывания

Кратко: Чтобы установить точку прерывания в строке, щелкните в области номеров строк и точек прерывания редактора - слева от текста строки.

Установка точки прерывания позволяет прерывать выполнение кода в некотором месте. Когда выполнение прервано, можно исследовать состояние объектов. Это помогает понять, что происходит в Вашем коде.

В редакторе, слева от текста, имеется область точек прерывания и номеров строк (Рисунок 16). Вы можете установить точку прерывания, щелкнув по ней. Маленький значок «Стоп» отметит точку прерывания. Попробуйте это сделать. Откройте класс Demo, найдите метод loop, и установите точку прерывания где-нибудь в цикле for. Значок точки прерывания должен появиться в выбранной строке. После установки точки прерывания редактор можно закрыть.

Рисунок 16: Установленная точка прерывания

Когда выполнение программы дойдет до точки прерывания, программа будет приостановлена. Давайте попробуем.

Создайте объект класса Demo, и вызовите метод loop с параметром, скажем, 10. Как только точка прерывания будет достигнута, откроется окно редактора с указанием текущей строки программы, и появится окно отладчика (Рисунок 17).

Рисунок 17: Окно отладчика после однократного нажатия Step

Подсветка в редакторе показывает строку, которая будет выполнена следующей. (Выполнение прервано до выполнения этой строки.)

Продвижение по коду

Кратко: Для пошагового выполнения кода используйте кнопки Step и Step into.

Теперь, когда выполнение программы прервано (значит, метод действительно начал выполняться, и точка прерывания достигнута), мы можем пройти код по шагам, наблюдая за изменениями. Для этого несколько раз нажмите кнопку Step в окне отладчика. Вы должны видеть, как изменяется положение подсвеченной строки в тексте программы (подсвечивается та строка, которая должна быть выполнена). Каждый раз, когда Вы щелкаете по кнопке Step, выполняется одна строка кода, и выполнение снова приостанавливается. Обратите внимание, что значения переменных, отображаемые отладчиком, тоже изменяются (например, значение sum), так что можно выполнять программу шаг за шагом и наблюдать за тем, что получается. Если этот процесс утомил Вас, можно щелкнуть по значку точки прерывания, чтобы удалить ее, а затем щелкнуть по кнопке Continue в отладчике, и выполнение программы будет продолжено без прерываний (в этой точке).

Попробуем все это еще раз с другим методом. Установите точку прерывания в методе carTest() класса Demo, в строке

places = myCar.seats();   

Вызовите метод carTest(). Когда точка прерывания достигнута, следующей должна быть выполнена строка, содержащая вызов метода seats() класса Car. Если щелкнуть по Step, строка будет выполнена целиком. Давайте теперь попробуем Step into. Если нажать Step into, Вы попадете внутрь метода и сможете выполнить его строка за строкой по шагам (а не все вместе за один шаг). В нашем случае, Вы попадете в метод seats() класса Car. Вы можете теперь весело прощелкать этот метод до конца, после чего возвратитесь в метод carTest(). Обратите внимание, как изменяется окно отладчика.

Кнопки Step и Step Into действуют одинаково, если в строке отсутствуют вызовы методов.


Поделиться с друзьями:

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

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.024 с.