-
Notifications
You must be signed in to change notification settings - Fork 131
Expand file tree
/
Copy pathJava1KnowledgeAndSkills.txt
More file actions
65 lines (42 loc) · 6.37 KB
/
Java1KnowledgeAndSkills.txt
File metadata and controls
65 lines (42 loc) · 6.37 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
Java 1. Знания и навыки по окончании курса
0. Введение
JDK, JRE, JVM. Установка JDK, программа HelloWorld, понятие класса и метода, компиляция и выполнение в командной строке (javac, java). Комментарии: однострочные, многострочные, комментарии документации (javadoc, дескрипторы). Вывод в консоль. Типы данных и переменные. Примитивные типы данных, арифметические операции. Кодовые блоки, области видимости переменных. Методы, сигнатура метода, перегрузка методов, передача параметров, возврат значений, оператор return.
1. Условия и циклы
Оператор if, его сокращенная и полная форма, операторы сравнения (больше-меньше, равно-не равно), логические операторы (и, или, не). Тернарный оператор. Оператор swith. Операторы цикла: for, while, do-while. Операторы break, continue.
2. Массивы и строки
Одномерные массивы, двухмерные и n-мерные массивы. Вариант цикла for для перебора элементов массива. Поиск минимума и максимума в массиве. Сортировка массива. Методы класса Arrays из пакета java.util. Строки, неизменость строк, операции со строками. Методы класса String. Классы StringBuffer и StringBuilder.
3. Введение в ввод-вывод
Объект Scanner. Чтение данных с консоли. Потоки ввода и вывода. Запись в текстовый файл, чтение из текстового файла, классы FileWriter и FileReader. Буферизация, классы BufferedWriter и BufferedReader. Обработка исключений, try-catch.
4. Введение в ООП
Ключевые понятия: инкапсуляция, наследование, полиморфизм. Классы и объекты. Конструкторы, параметризированные конструкторы, перезагрузка конструкторов. Ключевое слово this. Инкапсуляция (связывание и сокрытие), геттеры и сеттеры. Модификаторы доступа: public, по умолчанию, protected, private. Модификатор static, статические поля и методы. Наследование, суперкласс Object. Переопределение методов, аннотация @Override. Ключевое слово super. Абстрактные классы и методы. Интерфейсы. Модификатор final (константы, запрет переопределения, запрет наследования). Введение в паттерны проектирования, паттерн Singleton (Одиночка).
5. Введение в Swing
Наследование от JFrame, создание пустого окна, библиотека javax.swing. JPanel, JLabel, JButton и другие элементы библиотеки java.awt. BorderLayout и другие компоновщики элементов. Обработка кликов по кнопке и кликов мыши по элементу. Рисование на JPanel.
Стиль и культура написания кода:
Code Conventions for the Java Programming Language:
- ENG http://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html
- RU http://translatedby.com/you/java-code-conventions/into-ru/
Роберт Мартин, Чистый код https://www.labirint.ru/books/232091/
Идеи и задачи для самостоятельной работы:
Где новичку в программировании найти упражнения и идеи для проектов? https://tproger.ru/translations/where-to-find-ideas/
Задачи для начинающих Java программистов
https://habr.com/post/44031/
Где попрактиковаться в программировании: 30 ресурсов
https://geekbrains.ru/posts/resources_for_programming_practice
Дополнительные онлайн-курсы по Java:
Stepic (базовый курс) https://stepik.org/course/187/syllabus
SoloLearn (ENG) https://www.sololearn.com/Course/Java/
Рекомендуемые курсы, вебинары и статьи:
Git, быстрый старт. Курс https://geekbrains.ru/courses/66
Интерактивный курс по Git https://learngitbranching.js.org/
Apache Ant: быстрый старт. Вебинар https://geekbrains.ru/events/517
Сборка Java проектов: быстрый взгляд на Ant, Maven и Gradle. Вебинар https://geekbrains.ru/events/758
IntelliJ IDEA для новичков: советы и секреты. Вебинар https://geekbrains.ru/events/770
Компилируем и запускаем Java-файлы из Notepad++. Статья (Виктор Темпалов) https://geekbrains.ru/posts/npp_java
Top 6 online Java compilers for students. Article https://jaxenter.com/top-6-java-compilers-students-141549.html
Рекомендованная литература (одна из книг по выбору):
1. Майк МакГрат, Java программирование для начинающих (вся книга)
2. Кэти Сьерра, Берт Бейтс, Изучаем Java (главы 1, 2, 4, 7, 8, 10, 12, 13)
3. Герберт Шилдт, Java 8. Руководство для начинающих (главы 1, 2, 3, 5, 6, 7, 9, 10, 16)
4. Брюс Эккель, Философия Java (главы 1, 2, 3, 4, 7, 8, 12, 13, 16)
TODO: Обдумать возможность рекомендации ещё одной книги:
* Яков Файн, Программирование на Java для детей, родителей, дедушек и бабушек