Uploaded by Alexey Korohov

java syntax

advertisement
1. Вводное занятие. Команды и первая программа на Java.
О java преимуществах, области применения
О JavaRush академии и JavaRush
Структура программы, метод main
sout
Компиляция класса в байт-код из консоли, запуск программы
рассказ о WebIDE
2. Знакомство с типами и ввод с клавиатуры. Знакомство с IDEA.
Сохранение текста в переменную, ее вывод в консоль
Объявление и инициализация переменных String
Комментарии в коде
Переменные типа int
Элементарные математические операции с переменными типа int
Инкремент, декремент
Конкатенация
Integer.parseInt(), String.valueOf()
Хранение примитивных переменных в памяти
Хранения String переменных в памяти
byte, short, char, long, float, double, boolean
Методы Scanner
Установка IDEA, скачивание проекта, скачивание JDK
Установка плагина, рассказ о его функционале
Д.З. в Идее
3. Условный оператор.
if, if-else, if-else-if
Блоки команд
Вложенные блоки команд (вложенные if-ы)
Перегрузка методов, особенность вызова конструкторов
Операторы сравнения, в т.ч. double
Логические И, ИЛИ, НЕ
Тернарний оператор
Знакомство с потоками: Reader/Writer, FileReader/FileWriter
Сравнение примитивов и String
Д.З.
4. Циклы.
Проблематика на примере задачи сделать что-то много раз
while
break, continue
for
do-while
Сравнение разных циклов, выявление где какой лучше использовать
Д.З.
5. Массивы.
Создание и заполнение массивов
Обход массива
Хранение массивов в памяти
Двумерные массивы
Зубчатые массивы
n-мерные массивы
Утилитный класс Arrays
6. Функции.
Объявление и вызов методов
Параметры
Возвращаемое значение, void
Модификаторы доступа
Локальные переменные метода
Модификаторы методов, метод main
Константы
Сокрытие переменных (shadowing)
7. Работа со строками. Факультатив (StringBuilder, String.format, кодировки, экранирование символов ...)
Литералы
Кодировки
Экранирование символов
Основные методы класса String
Вспомогательные классы для работы со строками
8. Типы данных. Знакомство с ООП.
Примитивные типы
Приведение типов данных
Ссылочные типы
Объекты
null
Знакомство с ООП
Наследование
9. Объекты.
Создание объектов (new)
Конструктор, конструктор по умолчанию
Конструктор с параметрами
Порядок вызова конструкторов при наследовании
Доступ к полям объекта (геттер, сеттер)
Жизненный цикл объекта
hashCode, equals
10. Классы и static.
Загрузка класса
Статические переменные
Сравнение статических и нестатических переменных
Статические методы
Порядок инициализации при использовании конструкторов и статических блоков
Внутренние классы
11. Списки и Generics.
Классы обертки
ArrayList
Array VS ArrayList
Статические методы
Типизация ArrayList (дженерики)
12. Коллекции.
Иерархия коллекций
LinkedList
ArrayList VS LinkedList
Set, HashSet
Queue
Map, HashMap, TreeMap
Для каких задач лучше использовать какие коллекции
iterator, for-each
Collections
13. Singleton, Enum, switch.
Зачем нужны перечисления
Объявления Enum
Enum - лучший синглтон
switch
14. Исключения.
Нормальное выполнение кода и ошибки в рантайме
try-catch
Иерархия исключений
multicatch
finally
throw
throws
Создание своих исключений
stack trace
try with resources
AutoCloseable
15. Потоки ввода-вывода.
InputStream
Reader
BufferedReader
OutputStream
Writer
BufferedWriter
16. Потоки ввода-вывода 2. Pattern Chain of responsibility.
ByteArrayInputStream
RByteArrayOutputStream
Комбинирование потоков
17. Потоки ввода-вывода 3. java.nio.
io VS nio
FileChannel
Selector
Path
Paths
Files
18. Работа со временем и датой.
Date
DateFormat
Calendar
LocalDate, LocalTime, LocalDateTime
Instant
ZonedDateTime
DateTimeFormatter
19. Git. Итоговый проект.
Делаем крипто-анализатор
Download