Google Android - это несложно • Просмотр темы - Экскурс в Java. Готовимся к собеседованию.

Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 16 авг 2018, 17:28

Часовой пояс: UTC + 3 часа


Правила форума


Информация о разделе и рекомендации по созданию тем: viewtopic.php?f=18&t=1036



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
СообщениеДобавлено: 01 июн 2013, 22:55 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
Вступление

Всем привет! Часто многие спрашивают "С чего начать изучать Андроид?", я в ответ встречный вопрос "Java знаешь?", и 90% отвечают что нет. Так вот эта статья будет посвящена как начинающему так и продвинутому, так как всем время от времени стоит освежать мозги казалось бы простыми, но в то же время необходимыми знаниями ООП которые обязательно нужны.

Первый шаг

Первым делом стоит начать с малого. Базовые концепции ООП, что это такое и с чем едят. Для этого подойдёт книга моего любимого писателя Герберта Шилдта (в конце идут разделы awt, сервлеты, аплеты, swing - это уже не обязательно, но для кругозора не помешает).
Закрепить все эти знания Вам помогут большая подборка практических занятий. Над чем вы попрактикуетесь:
Цитата:
1. Язык JAVA как объектно-ориентированный язык программирования.
2. Сущность и основные принципы языка JAVA.
3. Понятие платформы программирования.
4. Платформа J2SE. Основные достоинства, недостатки и особенности языка JAVA.
5. Основные области применения языка Java.
6. Основные понятия языка Java. Классы, объекты, интерфейсы, пакеты.
7. Структура файла исходного кода.
8. Виды приложений на языке Java.
9. Структура приложения в платформе J2SE.
10. Пример приложения на языке Java. Компиляция и отладка приложений.
11. Основные элементы языка. Лексемы. Идентификаторы. Ключевые слова.
12. Основные элементы языка. Константы.
13. Основные элементы языка. Примитивные типы данных целые, символьный, вещественные, логические.
14. Основные элементы языка. Объявление и инициализация переменных. Время жизни переменных.
15. Операторы языка Java. Приоритет и правила ассоциативности. Порядок вычисления операндов.
16. Оператор присваивания =. Присваивание примитивных значений, присваивание ссылок, многократные присваивания.
17. Арифметические операторы. Приоритет и ассоциативность арифметических операторов.
18. Арифметические операторы. Порядок вычислений в арифметических выражениях.
19.Арифметические операторы. Диапазон числовых значений.
20. Арифметические операторы. Унарные и бинарные арифметические операторы.
21. Арифметические операторы. Составные операторы присваивания. Операторы декремента и инкремента.
22. Операторы отношения. Равенство. Равенство значений примитивных типов данных.
23. Равенство ссылок на объекты. Равенство значений объектов.
24. Булевы логические операторы. Логические составные операторы присваивания. Условные операторы && и || . Условный оператор ?/
25.Целочисленные поразрядные операторы. Операторы ~,&, |,^. Операторы сдвига <<, >>,>>>.
26. Унарный оператор приведения (тип ).
27.Преобразования сужения и расширения.
28. Числовые расширения.
29. Примеры преобразования типов. Неявное преобразование типов. Правила приведения.
30. Массивы. Объявление переменных -массивов.
31. Создание массива. Инициализация массива.
32. Использование массивов. Анонимные массивы. Многомерные массивы.
33. Операторы ветвления – сокращенный оператор if.
34. Оператор if –else.
35. Оператор switch.
36. Операторы цикла. Оператор while. Оператор do-while.
37. Оператор цикла for.
38. Команды перехода. Маркированные операторы. Операторы break, continue, return.
39.Определение классов. Модификаторы объявления классов.
40. Структура класса – поля, методы, конструкторы, блоки инициализации.
41. Определение полей. Модификаторы объявления полей. Инициализация значений.
42. Блоки инициализации.
43.Неизменяемые поля.
44. Методы класса. Модификаторы объявления методов классов.
45.Методы класса. Передача параметров.
46. Статические методы.
47.Неизменяемые методы.
48. Абстрактные методы.
49.Модификаторы и правила видимости.
50. Объектная ссылка this.
51. Перегрузка методов.
52.Конструкторы.
53. Конструктор по умолчанию. Перегруженные конструкторы.
54. Блоки инициализации.
55.Объекты. Создание объектов. Время жизни объекта и сборка мусора.
56. Одиночное наследование. Переопределение и скрытие методов.
57. Сокрытие (инкапсуляция) полей;
58. Cокрытие статического метода.
59. Объектная ссылка super. Организация цепочки конструкторов.
60. Интерфейсы.
61. Вложенные классы и интерфейсы.
62. Назначение исключительных ситуации.
63. Типы исключительных ситуаций.
64. Исключительная ситуация как объект.
65. Основные классы исключительных ситуаций. Классы Exception, RuntimeException, Error.
66. Определение новых классов исключительных ситуаций.
67. Обработка исключений –try, catch, finally. Оператор throw. Генерация исключительной ситуации.
68.Диагностические утверждения.
69. Основные классы пакета java.lang. Класс Object.
70.Классы оболочки над примитивными типами.
71. Неизменяемые строки - класс String.
72. Изменяемые строки – класс StringBuffer.
73. Класс Math – реализация основных математических функций.
74. Инструментальный набор коллекций. Классы и интерфейсы для реализации коллекций и карт.
75. Коллекции –основные действия, массовые операции, операции с массивами, итераторы.
76. Множества – классы HashSet и LinkedHashSet.
77. Списки- ArrayList, LinkedList
78. Карты. Классы HashMap, LinkedHashMap и Hashtable.
79. Отсортированные множества и отсортированные карты.
80. Интерфейсы Comparator, Comparable, SortedSet, SortedMap.
81. Работа с коллекциями.
82.Организация чтения/записи байтовых потоков.
83. Классы InputSteamReader и OutputStreamReader.
84. Буферизованные потоки чтения и записи – класс BufferedReader.
85.Чтение и запись из файлов.
86.Организация взаимодействия с консолью.
87. Многозадачность. Обзор потоков.
88.Главный поток.
89. Создание потока, реализация интерфейса Runnable.


Второй шаг

Вторым шагом стоит уделить не малое количество времени коллекциям, так как это очень мощный пакет Java, и про них можно написать не один том книг. Стоящей книги я не встречал которая раскрывала бы все вкусности коллекций, но дам пару "ссылочек" на которых будут раскрыты несколько секретов от гуру (на этом этапе Вы уже будете знакомы с большинством коллекций, так как есть раздел в книги Г.Шилдта, которая представлена в первом шаге, так что не стоит пугаться):

Java собеседование. Коллекции
Java собеседование. Коллекции vs null
Структуры данных в картинках. ArrayList
Изменения внутреннего представления строк в Java
Интерфейсы классов и коллекции
Накладные расходы памяти у коллекций
Java на каждый день и не только. Рекомендации по использованию
Коллекции в java перечислениях
Плохая Java или как не надо делать
3 миллиарда записей в Java Map на 16 GB RAM
Размеры массивов в Java
Сериализация в Java
5 вещей, которых вы не знали о многопоточности
Что нужно знать каждому разработчику о кодировках и наборах символов для работы с текстом
Правильно освобождаем ресурсы в Java
Структуры данных: бинарные деревья. Часть 1
Структуры данных: бинарные деревья. Часть 2: обзор сбалансированных деревьев
Разбираемся с hashCode() и equals()
Структуры данных в картинках. LinkedHashMap
Структуры данных в картинках. ArrayList
Структуры данных в картинках. LinkedList
Структуры данных в картинках. HashMap
Накладные расходы памяти у коллекций
Какие бывают типы OutOfMemoryError или из каких частей состоит память java процесса

P.S. Возможно в ссылки попали не совсем коллекции, но думаю это лишним не будет.

Третий шаг

На третьем и заключительном шаге Вы будете учить паттерны. Так как все крутые дяди :D должны знать их. Паттерны не являются "выдумкой для Java", это общепринятые нормы проектирования части программы. Паттерны глубоко применяются в ООП, порой даже когда Вы написали приложение то даже не догадываетесь что использовали тот или иной паттерн (у меня было такое с "наблюдателем"). Рекомендую к прочтению книгу всем известную Паттерны проектирования , там всё хорошо расписано и показано на пальцах.

P.S. Если есть кому что то добавить или поправить меня, то не стесняйтесь.

_________________
R.id.team
Политика на форуме запрещена


Последний раз редактировалось rezak90 20 июн 2013, 22:37, всего редактировалось 4 раз(а).

Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 01 июн 2013, 22:55 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
моя скромная коллекция книг которые я рекомендую:

ИзображениеИзображение ИзображениеИзображение ИзображениеИзображение ИзображениеИзображение

P.S. так же сейчас хочу купить вот эту Совершенный код. Макконнелл для саморазвития.

_________________
R.id.team
Политика на форуме запрещена


Последний раз редактировалось rezak90 20 июн 2013, 22:51, всего редактировалось 2 раз(а).

Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 01 июн 2013, 23:21 

Зарегистрирован: 21 мар 2013, 12:26
Сообщений: 267
Благодарил (а): 22 раз.
Поблагодарили: 19 раз.
Наш партизан всё же не смог и дале молчать, сцепив зубы, и сдал явки и пароли. :D
Держи печеньку. ;)

_________________
Использование DDMS
Чтение и запись логов (LogCat)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 02 июн 2013, 08:18 
Аватар пользователя

Зарегистрирован: 18 окт 2012, 11:17
Сообщений: 1098
Откуда: г. Красноярск
Благодарил (а): 26 раз.
Поблагодарили: 279 раз.
Спасибо)
Хорошая подборка советов и книг. Даже захотелось достать с полочки Шилдта и почитать малознакомые главы)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 03 июн 2013, 11:40 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1400
Благодарил (а): 0 раз.
Поблагодарили: 75 раз.
rezak90 писал(а):
Вопрос к админу: почему нельзя прикреплять pdf файлы?

Именно pdf? Остальные можно? Что говорит?

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 03 июн 2013, 12:08 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
damager82 писал(а):
rezak90 писал(а):
Вопрос к админу: почему нельзя прикреплять pdf файлы?

Именно pdf? Остальные можно? Что говорит?

другое не пробовал, просто когда писал статью то хотел приаттачить pdf с задачами, сказало мне что запрещено приватностью форума (как то так), пришлось на Google Drive размещать

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 20 июн 2013, 22:52 
Аватар пользователя

Зарегистрирован: 26 июн 2012, 13:22
Сообщений: 3422
Откуда: UA
Благодарил (а): 11 раз.
Поблагодарили: 244 раз.
АП. добавил не мало новых статей на хабре и новых книжек во втором посте.

_________________
R.id.team
Политика на форуме запрещена


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 25 июн 2013, 13:31 

Зарегистрирован: 03 июн 2013, 08:45
Сообщений: 13
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
К слову о литературе - никому не попадалась книга Шилдта Java the complete reference 8th edition на русском в пдф? или в epub. нашел ее в djvu, который проблематично как-нибудь привинтить к bookmate или google книгам


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 16 ноя 2013, 14:36 
Аватар пользователя

Зарегистрирован: 12 ноя 2013, 19:19
Сообщений: 22
Благодарил (а): 9 раз.
Поблагодарили: 1 раз.
Shtihl, а что мешает сконвертировать книгу. Применяемый исходник все равно один.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB