-
Notifications
You must be signed in to change notification settings - Fork 131
Expand file tree
/
Copy pathJava1NotesRU.txt
More file actions
177 lines (158 loc) · 10.8 KB
/
Java1NotesRU.txt
File metadata and controls
177 lines (158 loc) · 10.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
Заметки к занятиям:
Ссылки на все методички:
1. https://docs.google.com/document/d/1zbo8fNRPDHNr6kJ9DJynn5Mi4_ncDYVAIF9pTFjngiI/
2. https://docs.google.com/document/d/1Ewxcleh5IgFE1CEUGty5sr0_qH1BSonK3cuN6fpG4Io/
3. https://docs.google.com/document/d/1dHxZd2wTRe4Kqo0cj4SnP1AZEYNzrxCQn2sg0C-0YFA/
4. https://docs.google.com/document/d/1Rk_xwF65CJvJ0mzxVO1LOSM4I-5DBdOqub0TWXfflls/
5. https://docs.google.com/document/d/11EhLrIXlloOmm5Znufff36RBkMnDwLSkS-L2BeUqX7k/
6. https://docs.google.com/document/d/1EKdUfBQ9snU8gSgCUWFALke1b5p46A_Iq9Xgn2X2myo/
7. https://docs.google.com/document/d/1HxvN5jvGyRJ_b_LspE2kEmg7fw24SQdyCnJu7OQSGQ8/
8. https://docs.google.com/document/d/1x8x3rFxZ4a64gMi9EwNnodgrlIM3hRn6y_QlQ8vjiuE/
Информировать до начала занятий:
- пройти курс по Git и создать свой профиль на сайте github.com
- завести учётную запись Google, чтобы иметь возможность писать в чате занятия
1. Java. Введение
1. Вводные замечания
- краткий обзор 8 занятий (нужны все методички?)
- как проходить курс, делать ли ДЗ? сертификат
- Git. Быстрый старт https://geekbrains.ru/courses/66 уроки 8, 9
- общение в процессе курса:
- вопросы в чате ютуб
- вопросы на страницах занятия (Обсуждение)
- телеграм-чат https://t.me/joinchat/xr78JINUS1I4NzIy
- организационный вопросы: телеграм-чат группы
- файлы рекомендации к чтению, список навыков
- рекомендованные книги в браузере + тест https://gb.ru/tests/39
- IntelliJ IDEA для новичков: советы и секреты https://gb.ru/events/770
- Пишем код на Java и Go в текстовом редакторе https://gb.ru/posts/pishem-kod-na-java-i-go-v-tekstovom-redaktore
- Как обмануть мозг и эффективно учиться программированию https://proglib.io/p/effective-learning/
- Java Code Conventions, соглашение о написании кода
2. Основная тема
- комментарии к методичке (использование IntelliJ IDEA CE, maven, использование пакетов)
- инструменты разработчика (JDK 8 или 11), инструмент для написания кода
- первая программа, компиляция, выполнение
- обратить внимание на правила именования классов (полей, методов, переменных)
- переменные и типы данных
- арифметические операции
- методы, передаваемые параметры, возвращаемые значения
- условный оператор if, тернарный оператор
3. Дополнение (перенос с занятия №2)
- оператор switch
2. Основные конструкции
1. Вводные замечания
- напомнить Java Code Conventions, соглашение о написании кода
- напомнить про дополнительное чтение (файл Java1RecommendedBooks.txt)
- почему используем Notepad++, настройка (файл Java1KnowledgeAndSkills.txt)
- напомнить про вебинар по IDEA https://gb.ru/events/770 лайки :)
- разрешение конфликтов и проблем
2. Разбор ДЗ
- стиль кода, отступы, пробелы, аккуратность
- java-doc комментарий в начале, @author и @version
- не использовать пакеты, если не понятно - зачем они?
- внимательно читать задание
- не использовать то, что не изучалось
3. Тема, порядок изложения
- switch, коротко, перенесён в тему №1
- массивы, одномерные, многомерные, нерегулярные
- for, несколько переменных, for для итерируемых объектов
- while, do-while
- break и continue
- кодовые блоки, область видимости переменных
4. Дополнение
- класс Arrays, метод toString(), пакет java.util
- списочные массивы, класс ArrayList
3. Практика
1. Вводные замечания
- github.com, курс https://gb.ru/courses/1117
- английский язык https://geekbrains.ru/courses/98 + www.duolingo.com
- тест Java уровень 1 https://gb.ru/tests/39
2. Разбор ДЗ
3. Тема, порядок изложения
- массивы, одномерные, двухмерные, многомерные, нерегулярные
- импорт пакетов (библиотек), пакет по умолчанию java.lang
- получение информации о пакетах: http://docs.oracle.com/javase/8/docs/api/
- методы класса Arrays (манипуляции с массивами):
- toString() вывод в виде строки
- fill() заполнение одним значением
- sort() сортировка
- binarySearch() бинарный поиск
- быстрое решение задачи о максимуме/минимуме:
Arrays.sort(arr);
arr[0] -> min
arr[arr.length - 1] -> max
- генерация случайных чисел, класс Random
- ввод данных из консоли, класс Scanner
- printf форматированный вывод
4. Дополнение
- статические и нестатические методы
- классы и объекты
- списочные массивы, класс ArrayList
- запись и чтение текстовых файлов, перехват исключений
статья: Эволюция Java на примере чтения строк из файла
https://habr.com/ru/post/269667/
4. Крестики-нолики в процедурном стиле
1. Вводные замечания
- используйте чат, не стесняться спрашивать
- тест Java уровень 1 https://gb.ru/tests/39
- рекомендательное письмо, образец https://career.habr.com/ilshat0-0, linkedin.com
2. Разбор ДЗ
3. Написание консольной игры крестики-нолики
4. Дополнение
- статические и нестатические методы
- классы и объекты
5. Введение в ООП
1. Вводные замечания
- напомнить про текст по Java как финальное дз
- порекомендовать online IDE
- порекомендовать курс на http://stepik.org
2. Разбор ДЗ
3. Основная тема
- три основных принципа объектно-ориентированного программирования
- что такое класс (абстракция), его отличие от объекта
- поля и методы класса, создание объектов
- конструкторы, параметризированные конструкторы
- перегрузка конструкторов (и методов, в принципе)
- ключевое слово this
- инкапсуляция, модификаторы доступа, геттеры и сеттеры
4. Дополнение
- основы работы со swing (coздание окна)
6. Продвинутое ООП
1. Вводные замечания
- напомнить про тест как финальное ДЗ
- напомнить о важности ежедневных упражнений
2. Разбор ДЗ, обратить внимание на private и getter
3. Основная тема
- краткий повтор изученного на прошлом занятии:
- три принципа, что такое инкапсуляция, класс и объект
- поля и методы, конструкторы, this
- наследование, запрет наследования - final
- прародитель всех классов Object
- переопределение методов @Override
- предотвращение переопределения - final
- абстрактные методы и классы, полиморфизм
4. Дополнение
- интерфейс
- swing компоненты и Layout компоновщик
7. Практика ООП и работа со строками
1. Вводные замечания
- напомнить про текст по Java как финальное дз
2. Разбор ДЗ
3. Основная тема
- работа со строками, класс String
- строки StringBuffer/Buider против String
- чтение файлов FileReader против BufferedReader
- взаимодействие объектов, задача про кормление кота
4. Дополнение
- паттерны проектирования https://habr.com/post/210288/ Singleton
- обработка событий в swing
8. Крестики-нолики с графическим интерфейсом
1. Вводные замечания
- напомнить про тест как финальное ДЗ
- обратить внимание на файл Java1KnowledgeAndSkills.txt
2. Разбор ДЗ
3. Основная тема
- пустое окно, компоновщики
- обработка событий, рисование
- крестики-нолики, 2 варианта
- сборка проектов, ant, maven и gradle
- бонусы: ссылка на гит, tester, рекомендации