Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Б). Дополните строки программы, введенные согласно п.1.2а, строчными комментариями

ПЗ-4

Исследование операторов Java.

Операторы присваивания и арифметические операторы

Подготовка к занятию

1. Операторы присваивания

2. Арифметические операторы

3. Отчет о занятии

 

На занятии рассматривается порядок применения операторов присваивания и арифметических операторов языка Java при разработке приложений для Java SE в среде IDE NetBeans.

 

Для выполнения заданий этого занятия требуются программное обеспечение и ресурсы, перечисленные ниже:

Программное обеспечение Ресурс для загрузки
Комплект для разработчика на языке Java (JDK) с IDE NetBeans JDK 7u7 with NetBeans 7.2 http://www.oracle.com/technetwork/java/javase/downloads/jdk-7-netbeans-download-432126.html
Тестовый редактор TextPad 6 http://www.textpad.com/download/

Перед началом работы создайте на личном флеш-диске каталоги типа:

E:\NBprojectsFIO\pz4_FIO – для записи результатов работы – проектов NetBeans IDE.

E:\JavaFIO\pz4_FIO –- для записи результатов работы, полученных в TextPad.

Примечание: FIO – аббревиатура от фамилии, имени, отчества студента. Например, для Павленко Сергея Леонидовича FIO = PSL.

 

Подготовка к занятию

П1. Создание и настройка проекта

Используя методку, рассмотренную на пз2, создайте и настройте в NetBeans IDE проект с именем MyApp4_FIO.

П.2. Добавление кода к автоматически созданному исходному файлу

К коду главного класса добавьте вывод сообщения "Исследование операторов Java" путем замены строки

// TODO code application logic here

строкой

System.out.println("Исследование операторов Java");

Сохраните изменения путем выбора команды "Файл" > "Сохранить".

П3. Компиляция и выполнение проекта

Для запуска программы выполните следующие действия:

Выберите команду " Выполнить" > "Запустить главный проект " (F6).

 

На экране окно NetBeans IDE должно принять вид, подобный приведенному на рис.1.

Рис. 1

Если все получилось – то Вы готовы к выполнению заданий занятия.

Операторы присваивания

 

Справочная информация

 

Переменная – это именованная ячейка памяти, содержимое которой может изменяться. Перед тем, как использовать какую-либо переменную, она должна быть задана в области программы, предшествующей месту, где эта переменная используется. При объявлении переменной сначала указывается тип переменной, а затем идентификатор задаваемой переменной. Указание типа позволяет компилятору задавать размер ячейки (объем памяти, выделяемой под переменную или значение данного типа), а также допустимые правила действий с переменными и значениями этого типа. В Java существует ряд предопределенных типов: int – целое число, float – вещественное число, boolean – логическое значение, Object – самый простой объектный тип (класс) Java, и т.д. Также имеется возможность задавать собственные объектные типы (классы), о чем будет рассказано позже.

Объявление переменных a1 и b1, имеющих некий тип MyType1, осуществляется так:

MyType1 a1,b1;

При этом MyType1 – имя типа этих переменных.

Другой пример – объявление переменной j типа int:

Int j;

 

Объявление переменных может сопровождаться их инициализацией - присваиванием начальных значений. Приведем пример такого объявления целочисленных переменных i1 и i2:

int i1=5;

int i2=-78;

либо

int i1=5,i2=-78;

Напомним, что символ "=" используется в Java и многих других языках в качестве символа присваивания, а не символа равенства, как это принято в математике.

Он означает, что значение, стоящее с правой стороны от этого символа, копируется в переменную, стоящую в левой части. То есть, например, присваивание b=a означает, что в переменную (ячейку) с именем b надо скопировать значение из переменной (ячейки) с именем a. Поэтому неправильное с точки зрения математики выражение

x=x+1

в программировании вполне корректно. Оно означает, что надо взять значение, хранящееся в ячейке с именем x, прибавить к нему 1 (это будет происходить где-то вне ячейки x), после чего получившийся результат записать в ячейку x, заменив им прежнее значение.

 

После объявления переменных они могут быть использованы в выражениях и присваиваниях:

переменная = значение;

переменная = выражение;

переменная1 = переменная2;

Точка с запятой в конце любой операции присваивания превращает ее в оператор присваивания. Побочное действие операции — присваивание — становится в операторе основным.

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

 

Выражения

Из констант и переменных, операций над ними, вызовов методов и скобок составляются выражения (expressions). Разумеется, все элементы выражения должны быть совместимы, нельзя написать, например, 2 + true. При вычислении выражения выполняются четыре правила:

1. Операции одного приоритета вычисляются слева направо: х + у + z вычисляется как (х + у) + z. Исключение: операции присваивания вычисляются справа налево: х = у = z вычисляется как х = (у = z).

2. Левый операнд вычисляется раньше правого.

3. Операнды полностью вычисляются перед выполнением операции.

4. Перед выполнением составной операции присваивания значение левой части сохраняется для использования в правой части.

Следующие примеры показывает особенности применения первых трех правил. Пусть

int а = 3, b = 5;

Тогда результатом выражения b+(Ь=3) будет число 8; но результатом выражения (Ь=3)+b будет число 6. Выражение b+=(b = 3) даст в результате 8, потому что вычисляется как первое из приведенных выше выражений.

Четвертое правило можно продемонстрировать так. При тех же определениях а и ь в результате вычисления выражения b+=а+=b+= 7 получим 20. Хотя операции присваивания выполняются справа налево и после первой, правой, операции значение ь становится равным 12, но в последнем, левом, присваивании участвует старое значение ь, равное 5. А в результате двух последовательных вычислений а+=b+=7; b+=а; получим 27, поскольку во втором выражении участвует уже новое значение переменной ь, равное 12.

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

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

Приоритет операций

Операции перечислены в порядке убывания приоритета. Операции на одной строке имеют одинаковый приоритет.

1. Постфиксные операции ++ и --

2. Префиксные операции ++ и --, дополнение ~ и отрицание!.

3. Приведение типа (тип).

4. Умножение *, деление / и взятие остатка %.

5. Сложение + и вычитание -.

6. Сдвиги <<, >>, >>>.

7. Сравнения >, <, >=, <=.

8. Сравнения ==,!=.

9. Побитовая конъюнкция &.

10. Побитовое исключающее ИЛИ ^.

11. Побитовая дизъюнкция |.

12. Конъюнкция &&.

13. Дизъюнкция | |.

14. Условная операция?:.

15. Присваивания =, +=, -=, *=, /=, %=, &=, ^=, |=, <<, >>, >>>.

 

Примечание:

Дополнительные сведения по данному вопросу можно получить из документов:

· Приложение 4.1пз.doc

· Таблица 2.4. Простые специальные символы.doc

· Таблица 2.5. Составные специальные символы.doc

 

Задание для практической работы

а) Дополните код главного класса проекта строками 18-24 с рис.2, после чего выполните приложение. Если все сделано правильно, то в окне «Вывод» должны появиться сообщения, как на рис.3.

 

Рис. 2

 

Рис. 3

 

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

 

 

Арифметические операторы

 

Справочная информация

К арифметическим операциям относятся:

· сложение + (плюс);

· вычитание - (дефис);

· умножение * (звездочка);

· деление / (наклонная черта — слэш);

· взятие остатка от деления (деление по модулю) % (процент);

· инкремент (увеличение на единицу) ++;

· декремент (уменьшение на единицу) –

 

Примечание.

Первые 5 операций из приведенного списка также могут быть реализованы с помощью операторов, представляющих собой составные специальные символы (см. табл. 2.5).

 

Между сдвоенными плюсами и минусами нельзя оставлять пробелы. Сложение, вычитание и умножение целых значений выполняются как обычно, а вот деление целых значений в результате дает опять целое (так называемое "целое деление"), например, 5/2 даст в результате 2, а не 2.5, а 5/(-3) даст -1. Дробная часть попросту отбрасывается, происходит усечение частного. Это поначалу обескураживает, но потом оказывается удобным для усечения чисел.

Примечание:

В Java принято целочисленное деление.

Это странное для математики правило естественно для программирования: если оба операнда имеют один и тот же тип, то и результат имеет тот же тип. Достаточно написать 5/2.0 или 5.0/2 или 5.0/2.0 и получим 2.5 как результат деления вещественных чисел.

Операция деление по модулю определяется так: а % b = а - (а / b) * b; например, 5%2 даст в результате 1, а 5% (-3) даст, 2, т.к. 5 = (-3) * (-1) + 2, но (-5)%3 даст -2, поскольку -5 = 3 * (-1) - 2.

Операции инкремент и декремент означают увеличение или уменьшение значения переменной на единицу и применяются только к переменным, но не к константам или выражениям, нельзя написать 5++ или (а + b)++.

Например, после приведенных выше описаний i++ даст -99, a j—- даст 99.

Интересно, что эти операции 'можно записать?и перед переменной: ++i, — j. Разница проявится только в выражениях: при первой формe записи (постфиксной) в выражении участвует старое значение переменной и только потом происходит увеличение или уменьшение ее значения. При второй форме записи (префиксной) сначала изменится переменная и ее новое значение будет участвовать в выражении.

Например, после приведенных выше описаний, (k++) + 5 даст в результате 10004, а переменная k примет значение 10000. Но в той же исходной ситуации (++k) + 5 даст 10005, а переменная k станет равной 10000.

 

Примечание:

Дополнительные сведения по данному вопросу можно получить из документов:

· Приложение 4.1пз.doc

· Таблица 2.4. Простые специальные символы.doc

· Таблица 2.5. Составные специальные символы.doc

 

Задание для практической работы

а). Разместите строки кода программы, введенные согласно п.1.2, в блочном комментарии.

 

б). Дополните код главного класса проекта строками, выполнение которых в приложении позволит пояснить особенности работы остальных арифметических операторов.

 

в). Для каждого арифметического оператора получите скрины окон кода и вывода по примеру рис.2 и рис.3.

Примечание:



<== предыдущая лекция | следующая лекция ==>
компетентности детей старшего дошкольного возраста | Тема 3. Психология воспитания
Поделиться с друзьями:


Дата добавления: 2015-11-05; Мы поможем в написании ваших работ!; просмотров: 454 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Стремитесь не к успеху, а к ценностям, которые он дает © Альберт Эйнштейн
==> читать все изречения...

2176 - | 2136 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.099 с.