3. Основы синтаксиса.
Язык Java различает прописные и
строчные буквы!
Это означает, что имена всех функций и
ключевые слова следует записывать в
точности так, как они значатся в
примерах и справочниках.
X не то же самое, что x
4. Основы синтаксиса
Каждая команда (оператор) в
языке Java должна заканчиваться
точкой с запятой.
System.out.println("Hello, world!");
5. Основы синтаксиса
Хотя бы в одном из классов должен
существовать метод main(), в точности
такой, как в рассмотренном примере.
main метод и будет выполняться
первым.
В начале разбираться или пытаться запомнить
правильное написание этого метода необязательно –
Eclipse все сгенерирует сам, если поставить нужную
галочку.)
7. Переменные
Переменная — это именованная
область памяти, куда может быть (пере)
записано и откуда может быть
прочитано значение определенного
типа. Тип переменной и её имя
задаются при объявлении переменной,
они не могут быть изменены далее в
одном блоке программы.
9. Типизация
Типизация - это
способ защититься
от использования
объектов одного
типа вместо
другого, или по
крайней мере управлять таким
использованием.
10. Типы типизаций
Статическая типизация – это когда тип
данных определяется на этапе
компиляции.
Динамическая – на этапе выполнения
программы.
В java статическая
типизация.
12. Разрядность и диапазон значений.
byte – используется для
хранения значений целых
чисел.
Разрядность: 1 байт.
Диапазон значений: от 128 до 127
13. Разрядность и диапазон значений.
char используется для
хранения кода символа
(целое положительное число).
Разрядность: 2 байта
Диапазон значений: от 0 до 65535
14. Разрядность и диапазон значений.
short – используется для
хранения целых значений. В
два раза больше типа byte.
Разрядность: 2 байта
Диапазон значений:
от 32 768 до 32767
15. Разрядность и диапазон значений.
int (4 байта) –
от 2 147 483 648 до 2 147 483 647
long (8 байт) –
от 9223372036854775808 до
9 223 372 036 854 775 807
16. Разрядность и диапазон значений.
float (4 байта) –
от 3. 4е038.. до 3. 4е+ 038
double (8 байт) –
от 1. 7е308.. до 1. 7е+ 308
17. Разрядность и диапазон значений.
boolean – используется для
хранения логических значений
true или false.
Разрядность типа boolean зависит
от реализации JVM.
19. Дробные типы
Часть битов кодирует собой так
называемую мантиссу числа,
другая часть — показатель
порядка (степени), и ещё один бит
используется для указания знака
числа (0 — если число
положительное, 1 — если число
отрицательное).
20. Дробные типы
Математически это записывается так:
(-1)^s × M × 2^E,
где s — знак, M — мантисса, а E —
экспонента.
Экспонента записывается со сдвигом,
который можно получить по формуле,
приведённой выше.
21. double
Целочисленное деление на 0
генерирует исключение!
Деления на 0 чисел с плавающей
точкой является бесконечность (или
NaN в случае деления 0.0/0).
Так же есть константы
Double.NEGATIVE_INFINITY и
Double.POSITIVE_INFINITY, равные -1.0
/ 0.0 и 1.0 / 0.0 соответственно.
22. Имя переменной - идентификатор
Имя или идентификатор переменной
— это последовательность из строчных
и заглавных латинских букв, цифр, а
также символов «$» и «_».
Имя переменной может начинаться с
любого из перечисленных символов,
кроме цифры.
Java — язык, чувствительный к
регистру букв.
27. Константы
Константа — это именованная
ячейка памяти, способная хранить
данные, которые потом изменяться
не будут.
Константа — это переменная,
объявленная с ключевым словом
(модификатором) final. Также под
понятие константы можно подвести
понятие литерала.
28. Литералы
Литерал — это явно заданное в
коде значения одного из
допустимых типов, которые могут
использоваться в различных
выражениях языка (например, как
аргумент метода, выводящего что-
либо на экран).
30. Литералы
Всего в Java определены
следующие виды литералов:
целочисленный (integer);
дробный (floating-point);
булевский (boolean);
символьный (character);
строковый (string);
null-литерал (null-literal).
31. Литералы целых типов
2 - литерал типа int
010 - литерал типа int заданный в
восьмеричной системе счисления
0x10 - литерал типа int заданный в
шестнадцатеричной системе счисления
2L - литерал типа long, можно
использовать строчную букву l (но не
рекомендуется)
32. Литералы целых типов
Начиная с JDK 7 можно использовать
целочисленные литералы в двоичной
системе. Для этого нужно использовать
префикс 0b или 0B:
int x = 0b1010;
33. Литералы целых типов
Начиная с JDK 7 можно вставлять
символы подчёркивания для
облегчения чтения больших числовых
литералов:
int x = 123_456_789;
double num = 8_343_398.0;
34. Литералы дробных типов
2F - литерал типа float, можно
использовать строчную букву f
2D - литерал типа double, можно
использовать строчную букву d
1.2 - литерал типа double
35. Литералы дробных типов
2e5 - литерал типа double, записанный в
научной нотации, число после e надо
воспринимать как показатель степени
десятки, на которую умножается число
указанное до e, т.е. в данном случае
записано число 2*10^5 = 200000
36. Литералы дробных типов
-1.23e-3 - литерал типа double,
-1.23*10-3
= -0.00123
2e-2f - литерал типа float,
численно равен 0.02
44. Операторы
Операторы в языке Java — это
специальные символы (или слова),
которые сообщают компилятору о
том, что вы хотите выполнить
операцию с не-которыми
операндами.
48. Постфиксная и префиксная форма
Одни операторы ставятся перед
операндами и
называются префиксными, другие —
после, их называют постфиксными
операторами.
Большинство же операторов ставят
между двумя операндами, такие
операторы называют-ся инфиксными
бинарными операторами.
49. Оператор присваивания
x = 3; y = x; z = x;
многократное использование операции
присваивания в одном выражении
x1 = x2 = x3 = 0;
Не рекомендуется так делать.
50. Унарные операторы
Унарные операторы — производят
действие с одним аргументом или
выражением
унарный минус "-" – меняет знак
числа или выражения на
противоположный;
унарный плюс "+" – не выполняет
никаких действий над числом или
выражением;
55. Логические (булевые) операторы
Логические операции
операции выполняются над
переменными типа boolean и их
результатом также является
значение типа boolean.
Используются для построени
логических выражений.
60. Таблица булевых логических операторов
Оператор
Результат
Оператор
Результат
& Логическое
И (AND)
&= И (AND)
присваиванием
| Логическое
ИЛИ (OR)
|= ИЛИ (OR) с
присваиванием
^ Логическое
Исключающее
ИЛИ(XOR)
^= исключающее ИЛИ
(XOR) с
присваиванием
61. Таблица булевых логических
операторов
|| оператор OR
быстрой оценки
Выражений
(short circuit OR)
== Равно
&& оператор AND
быстрой оценки
Выражений
(short circuit AND)
!= не равно
! логическое унарное
отрицание (NOT)
? : Тернарный
оператор if-then-else
63. Тернарная операция
(от лат. ternarius — «тройной») —
возвращающает значение второго
или третьего операнда в
зависимости от значения
логического выражения, заданного
первым операндом.
64. Комбинированные операторы
В Java для арифметических,
булевых и битовых операций
можно использовать
комбинированные
(составные) знаки операций.
66. Примеры комбинированных
операций
1. Выражение x += b означает x = x + b.
2. Выражение x -= b означает x = x - b.
3. Выражение x *= b означает x = x * b.
4. Выражение x /= b означает x = x / b.
5. Выражение x %= b означает x = x % b.
6. Выражение x &= b означает x = x & b.
7. Выражение x |= b означает x = x | b.
8. Выражение x ^= b означает x = x ^ b.
9. Выражение x <<= b означает x = x << b.
10. Выражение x >>= b означает x = x >> b.
11. Выражение x >>>= b означает x = x >>> b.
67. Приоритетов операторов
В java все операторы имеют свой
приоритет при выполнении
операций.
Приоритет может быть изменен с
использованием круглых скобок.
68. Таблица приоритетов операторов
Операция Описание
() [ ] Круглые и квадратные скобки
++ -- + -~ !
Декремент, инкремент, унарный плюс,
унарный минус, поразрядное отрицание,
логическое отрицание
* / % Умножение, деление, остаток от деления
+ - Сложение, вычитание
>> >>> << Побитовый сдвиг вправо, побитовый
сдвиг вправо с заполнением старшего
бита нулем, побитовый сдвиг влево
> >= < <= Сравнение на больше, больше или равно,
меньше, меньше или равно
69. Таблица приоритетов операторов
== != Сравнение на равенство, сравнение
на неравенство
& Поразрядное и логическое И
^ Поразрядное и логическое
исключающее ИЛИ
| Поразрядное и логическое ИЛИ
&& Логическое укороченное И
|| Логическое укороченное ИЛИ
? : Условная операция
=op Комбинированные операции (op –
одна из арифметических или
побитовых операций)