01 - Знакомство с java
TRANSCRIPT
![Page 1: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/1.jpg)
Знакомство с Java
![Page 2: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/2.jpg)
Точка входа в программу
(пример: HelloWorld.java)
![Page 3: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/3.jpg)
Точка входа в программу
public static void main(String[] args) {// the very first lines of code follow
}
• Название метода – только main• Аргументы метода – массив аргументов командной
строки
![Page 4: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/4.jpg)
Точка входа в программу
(пример: HelloWorld2.java)
![Page 5: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/5.jpg)
Примитивные типы данных
• Логический• Целые числа• Вещественные числа• Символы
![Page 6: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/6.jpg)
Примитивные типы данных
• Основной тип – boolean• Только два значения: true и false• В отличие от C, булев и целочисленный тип различаются.
Логический
![Page 7: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/7.jpg)
Примитивные типы данных
• Основной тип – int• Есть расширенные и сокращённые диапазоны (byte, short,
long)• Допускается запись в десятичном, восьмеричном и
шестнадцатеричном виде• Для long надо указывать суффикс l
Целые числа
![Page 8: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/8.jpg)
Примитивные типы данных
• Обычная и двойная точность (float и double)
Вещественные числа
![Page 9: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/9.jpg)
Примитивные типы данных
• Основной тип – сhar• Идеологически – коды символов в Unicode• На самом деле, 16-битные целые
Символы
![Page 10: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/10.jpg)
Примитивные типы данных
(пример: PrimitiveDataTypes.java)
![Page 11: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/11.jpg)
Простые типы данных
• Основной тип – String• Идеологически – набор unicode-символов• На самом деле, не просто массив!• Строки нельзя менять.
Строки
![Page 12: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/12.jpg)
Простые типы данных
• Объявляются с ключевым словом enum• Автоматически приводятся к строке или целому числу• Можно получить значение из строковой константы
Перечисления
![Page 13: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/13.jpg)
Простые типы данных
(пример: Enumerations.java)
![Page 14: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/14.jpg)
Примитивные типы данных
• Арифметические и логические операции – так же, как и в C/C++• Строки можно конкатенировать, используя операцию «+».
Результатом будет новая строка (!)• Есть бинарные операции ~, ^, |, >>, <<, >>>. Последний
работает с беззнаковыми числами (заполняет левый бит нулём)
Операции
![Page 15: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/15.jpg)
Простые типы данных
• int → Integer
• float → Float
• double → Double
• char → Char
![Page 16: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/16.jpg)
Простые типы данных
• Указанные классы – обёртки для простых типов• Обрабатываются как объекты, а не просто как значения• Имеют методы для преобразования строковых типов в
числовые, и обратно
![Page 17: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/17.jpg)
Массивы
(пример: ArrayExamples.java)
![Page 18: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/18.jpg)
Массивы
• Части массивов можно копировать• Массивы можно сортировать• Ссылка на массив – не то же самое, что сам массив
![Page 19: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/19.jpg)
Работа с памятью
• Выделение памяти и создание нового объекта – после ключевого слова new
• Следить за памятью не нужно: Сборщик Мусора учитывает выделенную память, освобождая блоки, которые больше не используются.
![Page 20: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/20.jpg)
Ветвление
• Условный оператор (if (condition) { })• Как вариант:
if (condition1) {} else if (condition2) {} else {}Условия – только выражения типа boolean.
• Оператор выбора
switch (expr) { case val1: stmt1; else stmt2; }
![Page 21: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/21.jpg)
Циклы
• Всё, как в С/C++: – Предусловие (while (condition) { })– Постусловие (do { } while (condition))– For (for (; ;) { })– Путешествие по массиву:
for (int i: new int[] {1, 2, 3}) { }
![Page 22: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/22.jpg)
Работа с документацией
• Код можно содержать, если код документирован.• Встроенные средства документации программ – javadoc.• Можно документировать практически всё (классы, методы, …)
![Page 23: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/23.jpg)
Работа с документацией
(пример: JavaDocExample.java)
![Page 24: 01 - Знакомство с Java](https://reader038.vdocuments.pub/reader038/viewer/2022110121/558c97bcd8b42a49618b4576/html5/thumbnails/24.jpg)
Резюме
• Пишите красиво!• Используйте комментарии• Документируйте свой код• Внимательнее с приведением типов• Keep it simple and sweet :)