- •Оглавление
- •Предисловие
- •Введение
- •Глава 1. Средства разработки приложений
- •1.1. Системные требования
- •1.2. Введение в NetBeans
- •1.3. Установка NetBeans
- •1.4. Первый запуск NetBeans
- •1.5. Интерфейс пользователя
- •1.6. Настройки среды
- •1.7. Создание проекта
- •Глава 2. Язык программирования Java
- •2.1. Первое приложение
- •2.2. Метод main
- •2.3. Основные понятия языка Java
- •2.3.1. Переменные и константы
- •2.4. Примитивные типы данных
- •2.4.1. Целые и символьные типы(byte, short, char, int, long)
- •2.4.2. Логический тип Boolean
- •2.4.3. Вещественные типы (float и double)
- •2.5. Ссылочные типы
- •2.6. Выражения и операторы
- •2.6.1. Логические операторы
- •2.6.2. Целочисленные битовые операторы
- •2.6.3. Арифметические операторы
- •2.6.4. Приоритеты выполнения операторов
- •2.6.5. Преобразование типов
- •2.6.6. Оболочечные классы
- •2.7. Класс Math
- •2.8. Сложные типы данных и строки
- •2.8.1. Массивы
- •2.8.2. Строки
- •2.9. Управляющие конструкции
- •2.9.1. Составной оператор
- •2.9.2. Условный оператор if
- •2.9.3. Оператор выбора
- •2.9.4. Операторы цикла
- •2.9.5. Операторы перехода
- •Глава 3. Введение в ООП
- •3.1. Основные принципы ООП
- •3.2. Состав структура и основные свойства классов
- •3.2.1. Описание полей класса
- •3.2.2. Оператор new
- •3.2.3. Описание методов
- •3.2.4. Модификаторы
- •3.2.5. Конструкторы
- •Совмещение методов
- •Глава 4. Рефакторинг
- •Глава 5. Ввод и вывод в Java
- •Глава 6. Графический интерфейс пользователя GUI
- •6.1. Компоненты и контейнеры
- •6.2. Встроенные пакеты GUI классов на основе библиотеки awt
- •6.2.1. Метка Label
- •6.2.2. Кнопка Button
- •6.2.3. Кнопка выбора CheckBox
- •6.2.4. Радио-кнопка Radiobutton
- •6.2.5. Поле ввода TextField
- •6.2.6. Поле ввода TextArea
- •6.3. Использование визуального редактора для проектирования ГИП
- •6.4. Графика в Java
- •6.5. Обработка событий
буквами). Если имя составное, то каждая входящая часть также начинается с прописной буквы.
Пример:
summa, perFass, i, j, greenLan
● Имена констант в Java принято обозначать идентификаторами набранными в верхнем регистре (прописными буквами). Если имя составное, то каждая входящая часть начинается с символа подчеркивания «_».
Пример:
MAX_VALUE, SERT_VAL
2.6. Выражения и операторы
Выражения — это последовательность, состоящая из операндов, разделителей, знаков операций и задающая вычисление. Наиболее простые выражения называют первичными выражениями. Первичные выражения строятся из литералов и переменных.
Пример:
MAX_VAL |
// |
константа |
true |
// |
булевый литерал |
i// переменная
1.23E+105 // литерал с плавающей точкой
Сложные выражения строятся путем объединения первичных выражений с помощью операторов.
Пример:
i=1; fr=(1+MAX_VAL*summa)/(21*egf);
dsFasd=1+summa/12;
Оператор — это набор символов, который указывает интерпретатору Java, какие действия необходимо выполнить над одним или несколькими операндами. Для обозначения действий оператора обычно используются символы операций, которые он выполняет. В качестве операндов используются первичные выражения (переменные, константы, литералы).
Операторы, которые используют только один операнд называют
унарными операторами.
Пример:
Операторы стоящие перед операндами префиксные, после операндов — постфиксные, и между операндами — инфиксные.
Все типы операторов подразделяются на четыре основных группы:
●логические (булевы) операторы;
●битовые;
●операторы отношений;
●арифметические операторы;
2.6.1. Логические операторы
Логические (булевы) операторы предназначены для выполнения логических операций над булевыми переменными (табл. 7).
|
|
|
Та блица 7 |
|||
|
Логические операторы |
|
|
|||
Оператор |
Описание |
Пример |
Результат |
|||
&& |
|
Bool1&&bool |
Дает истину |
в |
случае |
|
Логическое «И» |
истинности |
|
обоих |
|||
&&= |
|
2 |
операндов |
|
|
|
|| |
Логическое |
Bool1|| |
Дает истину |
в |
случае |
|
истинности |
одного из |
|||||
||= |
«ИЛИ» |
bool2 |
||||
операндов |
|
|
||||
^ |
Логическое |
|
Дает истину |
в |
случае |
|
«Исключающее |
Bool1^bool2 |
различности |
значений |
|||
^= |
||||||
ИЛИ» |
|
соседних операндов |
||||
! |
Логическое |
!bool2 |
Дает истину |
в |
случае |
|
!= |
отрицание «НЕ» |
ложности операнда |
||||
2.6.2. Целочисленные битовые операторы
Битовые операторы предназначены для работы с отдельными битами значений переменных типа byte, int, char, long (табл. 8). Операторы битовой арифметики работают с каждым битом, как с самостоятельной величиной.
Та блица 8
|
Целочисленные битовые операторы |
|||
Оператор |
Описание |
|
|
Пример |
& |
Побитовое |
«И» |
a&b |
|
&= |
(AND) |
|
|
a&=b |
| |
Побитовое |
|
|
a|b |
|= |
«ИЛИ» (OR) |
|
|
a|=b |
^ |
Логическое |
|
|
a^b |
^= |
«Исключающее |
|
a^=b |
|
|
ИЛИ»(XOR) |
|
|
|
>> |
Сдвиг вправо |
|
|
a>>b |
>>= |
|
|
|
a>>=b |
<< |
Сдвиг влево |
|
|
a<<b |
<<= |
|
|
|
a<<=b |
>>> |
Сдвиг вправо |
с |
a>>>b |
|
>>>= |
заполнением |
|
|
a>>>=b |
|
нулями |
|
|
|
~ |
Побитовое |
|
|
~a |
отрицание
|
|
Пример побитовых преобразований |
Та блица 9 |
|||||
|
|
|
|
|||||
a |
|
b |
|
a&b |
a|b |
a^b |
|
~a |
0 |
0 |
|
0 |
|
0 |
0 |
|
1 |
1 |
0 |
|
0 |
|
1 |
1 |
|
0 |
0 |
1 |
|
0 |
|
1 |
1 |
|
1 |
1 |
1 |
|
1 |
|
1 |
0 |
|
0 |
Сдвиг влево
Оператор << выполняет сдвиг влево всех битов своего левого операнда на количество позиций указанных в правом операнде. Часть битов выходящая за левою границу переменной теряется, а правая часть соответственно заменяется нулями.
Сдвиг вправо
Оператор >> выполняет сдвиг вправо всех битов своего левого операнда на количество позиций указанных в правом операнде. Часть битов выходящая за правую границу переменной теряется, а левая часть соответственно заменяется предыдущим содержимым (расширение знакового разряда). Бит знака при этих действиях сохраняется.
Беззнаковый сдвиг вправо
Оператор >>> выполняет сдвиг вправо всех битов своего левого операнда на количество позиций указанных в правом операнде. Часть битов выходящая за правую границу переменной теряется, а левая
часть соответственно |
заменяется нулями. Бит знака при этих |
действиях сохраняется. |
|
Для формирования условий в различных конструкциях Java используются операторы отношения (табл. 10). Применяются к операндам целого, вещественного, и символьного типа. Результат выполнения оператора отношения имеет булевый тип.
|
Операторы отношения |
Таблица 10 |
|
|
|
Оператор |
Описание |
Пример |
== |
Равно |
a==b |
!= |
Не равно |
a!=b |
> |
Больше |
a>b |
< |
Меньше |
a<b |
>= |
Больше либо равно |
a>=b |
<= |
Меньше либо равно |
a<=b |
instanceof |
Принадлежность экземпляра к |
h1 |
instanceof |
классу |
Human |
|
|
|
|
2.6.3. Арифметические операторы
Арифметические операторы предназначены для выполнения арифметических операций над числовыми данными (табл. 11). Также допустимо в качестве операндов использовать данные типа char.
Та блица 11
|
|
Арифметические операторы |
|
|
+ |
Оператор |
СложениеОписание |
a+b |
Пример |
- |
|
Вычитание |
a-b |
|
* |
|
Умножение |
a*b |
|
/ |
|
Деление |
a/b |
|
% |
|
Остаток от деления |
a%b |
|
= |
|
Присваивание |
x=y |
|
++ |
|
Инкремент |
i++ |
|
-- |
|
Декремент |
i-- |
|
+= |
|
|
y+=x ~ y=y+x |
|
-= |
|
|
y-=x ~ y=y-x |
|
*= |
|
|
y*=x ~ y=y*x |
|
/= |
|
|
y/=x ~ y=y/x |
|
%= |
|
|
y%=x ~ y=y%x |
|
Оператор инкремента
Важным отличием в операторах современных языков программирования операторов: ++, --, +=, -=, *=, /=
Java, C++, C# от других заключается в присутствии и %=, которые позволяют
увеличивать или уменьшать операнд на единицу, а так же производить основные операции до оператора присваивания.
Унарная операция ++ увеличивает операнд на единицу и называются в Java инкрементом. Операция -- называется декрементом, и приводит к уменьшение операнда на единицу. Соответствующий оператор может находится в выражении перед или после операнда, и в зависимости от местоположения будет находится в инфиксной или постфиксной форме (инкремента/декремента).
Пример:
if (b==2) { a=b++
} else { a=++b
}
На примере представлены два варианта операции инкремента. В первом случае, когда условие выполнено (b=2), переменной a присваивается значение переменной b (a=b), а затем переменная b
