Азы программирования java. Подборка книг для Java программистов с различным опытом

10.03.2019

По данным портала HeadHunter, спрос на Java-разработчиков в 2016 году вырос на 38%. И это не предел. Один только рынок мобильных приложений к 2020 году вырастет вдвое: валовый годовой доход перевалит за $100 млрд – прогнозируют аналитики App Annie.
Хотите стать частью Java-сообщества и влиять на то, каким будет софт для смартфонов и ПК в ближайшие 5 лет? Начните путь в профессию сейчас. Самое важное, что вам потребуется на первом этапе, мы собрали в интенсиве Джава-программирования для начинающих.

Как начать изучение Java с нуля?

Бесплатно

Платить за знакомство - неправильно. GeekBrains за такое денег не берет. Поэтому наши вводные онлайн-курсы по Java бесплатны.

Дистанционно

Где бы вы ни находились, знания - рядом. Для онлайн-обучения Java вам потребуется только компьютер/смартфон с выходом в интернет и гибкий ум. На занятиях вы сможете задавать вопросы преподавателю и общаться с одногруппниками в чате.

Кому подойдет интенсив «Основы программирования Java»?

Для чайников

Интенсив будет полезен, если вы только знакомитесь с программированием и ищете курс обучения Java «для чайников».

Для школьников

Материал подается наглядно, на примерах. За пару часов вы видите основные возможности и особенности языка. Для школьников обучение Java на GeekBrains - это быстрый старт в игрострое. Уже на первом уроке вы создадите игру, которой приятно будет делиться с друзьями и в интернете.

Для всех желающих

Начните обучение Java-программированию с нуля, чтобы понять, нравится ли вам язык, и готовы ли вы заниматься Джава-разработкой профессионально.

Начало текста Глава: Предисловие (или для кого эта книга) Глава: Введение (или рассказ о программировании) Часть 1. Установка необходимых программ и их настройка Глава: JDK - Java Development Kit (комплект для разработки на Java) Глава: IDE (Integrated Development Environment) "IntelliJ Idea"- Интегрированная среда разработки (система программирования) "IntelliJ Idea" Часть 2. Основные понятия и операторы Java. Глава 2.1. Урок 1. Структура программ на Java. Пример программы на Java.

Глава: Предисловие (или для кого эта книга)

Наверное многие скажут: "по Java уже написано много хороших книг, зачем еще одна"? И для многих скорее всего моя книга не даст ничего нового. Ведь основным ее читателем должен стать (предположительно) человек, который вообще не имеет никакого опыта в программировании. Со одной стороны кажется, что достаточно взять книгу с хорошим, наиболее полным описание и все. Но на практике это далеко не так. Недостаточно прочитать о чем-то. Главное понять, как это использовать. Уметь приспособить разный набор средств для решения конкретной задачи. Оценить, что из существующих вариантов лучше. Как этого добиться? Практика. Очень много практики с разбором тривиальных примеров и решением похожих задач самостоятельно. Однако практика, к сожалению, это еще не все. Помимо нее должна быть и правильно подобранная, дозированная теория. Это значит, что я не буду вываливать все знания в полном объеме на читателя сразу. Многое буду сознательно упрощать для лучшего понимания сути вещей. Надеюсь профессионалы меня за это не будут гневно хулить. Ведь после прочтения моей книги, читатель сможет перейти к литературе, дающей более развернутые знания, и разобраться в ней самостоятельно.


Глава: Введение (или рассказ о программировании)

Наверное, в наш прогрессивный век многие слышали такие слова как "программа" и "программирование". Давайте разберемся что это такое, откуда взялось и на какие направления сейчас разбивается.
Во-первых, начнем с термина "программа". Если простыми словами, то программа - это последовательность действий или указаний компьютеру, которую он должен выполнить. Запуская программу, мы запускаем по очереди все команды или инструкции, указанные в ней. Программирование, соответственно, - это процесс создания или написания программ.
Как компьютер понимает или расшифровывает команды записанные в программе?
По сути дела, программа, которую видит компьютер, и программа, которую видит человек на экране, очень сильно отличаются, так как написаны на разных языках. Компьютерная машина понимает только так называемый двоичный код - определенные комбинации из единиц и нулей. Почему так? Все просто, если мы обратимся к механике процесса. Команды компьютеру передаются по шлейфам, состоящие из набора проводов (каналов), и так называемой шине данных. Есть электрический сигнал в канале - значит поступила единица. Нет сигнала - ноль.
Однако, если мы откроем текст программы, написанной программистом, он не будет выглядеть как сплошной набор единиц и нулей и его вполне можно будет "прочитать" и разобрать на команды. Как же тогда компьютер понимает программы, написанные людьми? А вот здесь работают так называемые переводчики с одного языка на другой. Называют эти переводчики - трансляторами. Трансляторы можно разделить на два вида: компиляторы и интерпретаторы. Компиляторы переводят всю программу целиком и сохраняют в специальных исполняемых файлах. Чтобы запустить такую программу, нужно запустить полученный файл. Интерпретаторы переводят команды в режиме он-лайн и сразу их выполняют. По одной команде за один шаг: перевел команду - выполнил, перевел следующую - выполнил, и т. д.
От уровня сложности языка, с которого переводит транслятор, зависит количество команд в двоичном коде. Если язык достаточно приближен к двоичному коду, то на одну команду такого языка будет выходить от 1 (ассемблеры) до 10 команд в двоичном коде. К таким языкам можно отнести, например, Pascal, C. Для высокоуровневых языков, такие например, как С++ и Java, количество команд в двоичном коде на одну команду высокоуровневого языка может быть равным 100 и более.
С одной стороны использование компиляторов лучше, так как программы переведенные целиком на машинный язык работают быстрее. Однако эти программы работают только в какой-то одной операционной системе, для которой они были скомпилированы. К достоинствам интерпретаторов можно отнести так называемую кроссплатформенность, то есть независимость от конкретной операционной системы (платформы). Что здесь имеется ввиду? Дело в том что для запуска одной и той же программы в разных операционных системах будут использоваться разные интерпретаторы: в Windows один интерпретатор, в Linux - другой, в третьей операционной системе - третий и т. д. А текст самой программы остается неизменным и наглядным, где бы мы его ни открыли. Со скомпилированной программой все сложнее. Во-первых, она уже переведена на машинный язык и просмотреть в привычном виде мы ее не сможем. Во-вторых, программа четко ориентирована на определенную операционную систему и изменить это в скомпилированной программе невозможно. Для того, чтобы провернуть подобный фокус нужно взять исходную программу, которая написана на понятном программисту языке, внести необходимые изменения и скомпилировать ее под другую платформу (операционную систему).
В принципе для любого языка можно разработать как компиляторы так и интерпретаторы. К таким языкам, для которых существуют как компиляторы так и интерпретаторы, например, можно отнести Visual Basic. Однако есть ряд языков, для которых существуют только компиляторы или интерпретаторы. Например, для языка Pascal есть множество компиляторов, но нет интерпретаторов (по крайней мере я о них не слышала). Для языков VBScript, JavaScript существуют только интерпретаторы.
Отдельно можно выделить языки программирования, в которых используется некоторое сочетание принципов компиляции и интерпретации. К таким языкам можно отнести и Java. Сначала программа, написанная на Java, обрабатывается компилятором. Однако на выходе получается не машинный, а некоторый промежуточный код (псевдо-код или байт-код), который затем интерпретируется виртуальной машиной Java. Виртуальная машина Java - это программа, которая должна быть установлена в операционной системе, где будет запускаться превращенная в псевдо-код программа.
Как и где пишутся программы?
Давайте подумаем что нам понадобится для создания работающей программы. Во-первых, нам нужно где-то набирать текст программы. А значит нужен какой-то текстовый редактор, в котором мы это проделаем и сможем сохранить. Во-вторых, понадобится компилятор или интерпретатор. В принципе это необходимый минимум. Однако! Следует учесть, что по мере написания программ мы, как и все люди допускаем ошибки. Во-первых, ошибку мы можем сделать в тексте. Было бы удобно, чтобы текстовый редактор умел видеть хотя бы простейшие ошибки в синтаксисе написанных команд и как-то оповещал нас об этом (например, подчеркиванием, как это делает Word для обычных текстов). Во-вторых, могут быть логические ошибки, когда в тексте все вроде верно написано, но ничего не работает так как ожидалось. На этот случай, было бы неплохо иметь удобные инструменты для поиска ошибок во время работы программы.
Для удобства программистов все удобные инструменты объединены в особые программы - системы программирования. Обычно в них есть и особый текстовый редактор, и трансляторы, и отладчик (для поиска ошибок в ходе выполнения программы), и уйму удобных инструментов для облегчения нелегкого труда программиста. К таким "плюшкам" можно отнести автогенерацию кусочков программы, удобный запуск программ по одному щелчку (когда система программирования сама запускает нужный транслятор и полученную исполняемую программу) и многое-многое другое.
Обычно для одного языка существует не одна система программирования, а несколько. Каждый программист, естественно, сам выбирает наиболее удобную для себя систему. Например, для Java самыми распространенными системами программирования являются "IntelliJ Idea","Eclipse","NetBeans".
Поскольку автор предпочитает первую из них и остальные вам пока неизвестны, для нашей практики мы с вами будем использовать "IntelliJ Idea".


Часть 1. Установка необходимых программ и их настройка

Глава: JDK - Java Development Kit (комплект для разработки на Java)

Начнем с самого главного - установки набора необходимых программ для разработки и выполнения программ, написанных на Javа. На английском название этого набора звучит как Java Development Kit или коротко - JDK. Именно последнюю аббревиатуру мы будем использовать в дальнейшем.
Что входит в JDK?
В JDK входят следующие компоненты:
1) JRE - Java Runtime Environment (Среда выполнения Java)
Набор программ и библиотек, необходимых для выполнения псевдо-кода. Фактически это и есть виртуальная машина Java, необходимая для запуска скомпилированных под нее программ.
Примечание: Если нужно только запускать скомпилированные программы, написанные на Java, а не создавать их, устанавливать JDK не имеет смысла. Достаточно установить только JRE.
2) компиляторы
3) отладчики
4) специализированные библиотеки
5) и другие средства разработки
Что такое библиотеки и что в них находится?
Программы на языке высокого уровня пользуются готовыми, проверенными фрагментами кода для выполнения различных типовых действий. К таким действиям можно отнести: отображение информации на экране, ввод данных с клавиатуры, вычисление стандартных математических функций и т. д. Подобные фрагменты кода находятся в библиотеках, представленных в виде отдельных файлов.
Где взять JDK?
Любую версию JDK можно скачать совершенно бесплатно с официального сайта Oracle. Для этого сначала наберем в любом интернет-поисковике следующие слова для поиска: "JDK download". Первый же сайт в списке - наш.

В табличке с нужной версией выбирайте сначала опцию "Accept License Agreement" (переводится с английского как "Согласиться с лицензионным соглашением"), а затем щелкайте по нужному файлу в этой таблице.
Как вы уже знаете, Java - кроссплатформенный язык программирования, то есть одна и та же программа, написанная на нем, одинаково работает в разных операционных системах. Последнее свойство достигается за счет различающихся JRE и JDK на разных операционных системах (платформах).
Естественно вы должны скачать установочный файл, который соответствует вашей операционной системе. Например, если вы работаете под Linuх, выбирайте соответствующий файл для Linux. Если под Windows - файл для Windows.
Если вы устанавливаете JDK под 32 битную операционную систему, качайте файл с пометкой x86. Если под 64 битную - с пометкой х64.
Примечание. Разрядность системы в Windows 7 можно узнать так: жмем «Пуск», правой кнопкой мыши «Компьютер», выбираем «Свойства». Смотрим значение свойства "Тип системы".

Например:

Для 64-битной операционной системы Windows и JDK 8u101 нужный файл будет иметь следующее название:
"jdk-8u101-windows-x64.exe"

Для 32-битной операционной системы Windows и JDK 8u101 нужный файл будет иметь следующее название:
"jdk-8u101-windows-i586.exe"

Как установить и правильно настроить JDK (для ОС Windows 7)?
Этап первый: Установка JDK
Для того чтобы установить JDK, необходимо запустить установочный exe-файл с нужной версией JDK. Дальше нужно лишь следовать по окнам-шагам инсталляции.
Примечание: На одной операционной системе может быть установлено несколько версий JDK и JRE. Сделать какую-то JRE основной (которую и будет использовать виртуальная машина Java) можно в настройках операционной системы. Задать определенную JDK для проекта можно как в операционной системе(будет общей для всех проектов) так и в системе программирования, в которой этот проект пишется.
Давайте рассмотрим весь процесс установки JDK на примере установки JDK 8u102 на 64-битную операционную систему Windows 7 (нужно будет запускать файл jdk-8u102-windows-x64.exe).

1. В первом окне просто нажимаем кнопку "Next"

2. Во втором окне сначала выбираем папку, куда будет устанавливаться наше JDK. Для этого нажимаем кнопку "Change..." и выбираем нужное место на диске.

Примечание: Желательно придерживаться одного общего места для всех папок с разными версиями JRE. То есть чтобы структура общей папки была наподобие следующей:

После этого нажимаем кнопку "Next".

Этап второй: Настройка переменных окружения
Для того, чтобы система программирования знала какую jdk использовать по умолчанию для своих программ и операционная система умела распознавать файлы java, необходимо настроить системные переменные в нашей операционной системе.
Для этого в Windows 7 нужно сделать следующие шаги:

1) Зайдите в следующие настройки:
Кнопка "Пуск" --> правой кнопкой мыши в пункт "Компьютер"--> пункт "Свойства" --> пункт "Дополнительные параметры среды" --> вкладка "Дополнительно" --> кнопка "Переменные среды..."

2) Под списком "Cистемные Переменные" нажать кнопку "Создать"

3) Внести необходимые данные и нажать кнопку "OK":
Имя переменной JAVA_HOME
Значение переменной <путь к папке, куда устанавливалось JDK(не JRE!)>

4) Найдите в списке системных переменных переменную "Path", выберете ее и нажмите кнопку "Изменить".

5) Перейдите в конец поля "Значение переменной"(ничего не удалять!!!), добавьте следующий кусочек текста и нажмите кнопку "OK":
;%JAVA_HOME%\bin\

6) Нажмите кнопку "OK" для окна "Переменные среды", затем для вкладки "Дополнительно" и перезагрузите компьютер.


Глава: IDE (Integrated Development Environment) "IntelliJ Idea"- Интегрированная среда разработки (система программирования) "IntelliJ Idea"

"IntelliJ Idea" одна из наиболее распространенных систем программирования для Java. Она удобна и имеет много инструментов, облегчающих работу программиста. К несомненным плюсам можно отнести доступные бесплатные версии этой среды разработки в интернете.

Примечание. Термин IDE(интегрированная среда разработки) идентичен понятию "система программирования", однако в профессиональной среде его используют чаще.

Где взять "IntelliJ Idea"?
Данную IDE можно скачать с официального сайта компании "JetBrains". Для этого сначала нужно набрать в любом интернет-поисковике следующие слова для поиска: "Intellij Idea". Первый же сайт в отобразившемся списке - наш.


Образование не должно быть священной коровой, мы в этом уверены! Его нужно и можно менять. Именно так мы поступили и разработали курс программирования JavaRush, который, смеем вас уверить, не похож ни на один другой онлайн-курс. В нём нет длинных видеолекций и списка заданий, которые непонятно кто и как будет проверять. Зато есть чётко поставленная цель, разработаны специальные средства для учёбы и установлен результат, которого нужно достичь.

Топ-12 особенностей уроков JavaRush

Обычно онлайн-курсы по программированию представляют собой учебники или видеоуроки. У нас всё не так. Мы сформировали цикл коротких уроков по Java, наполнили их практическими заданиями и предоставили «умные» инструменты для проверки правильности решения. И всё это в виде последовательного и цельного курса!

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

2. Уроки Java, ничего лишнего!

Java, да и любой другой язык программирования, можно учить ооочень долго. Чтобы не зарыться в дремучие дебри в самом начале пути, мы удалили из курса ненужные новичкам темы, которыми часто наполнены уроки программирования . На JavaRush осталось только самое необходимое. И это не пустые слова: это результат анализа сотен вакансий. Так что мы утверждаем, что в курс включены именно те темы, которые необходимо знать будущему Java Junior Developer, чтобы трудоустроиться. Процесс превращения в Java Junior займёт у вас от трёх месяцев до одного года в зависимости от того, сколько времени вы будете уделять учёбе.

3. 500 мини-лекций и 1200 + практических задач.

В этом курсе много практики. Очень-очень-очень много практики! Курс содержит 500 мини-лекций (это короткие уроки по Java) и более 1200 практических задач. В подавляющем большинстве задачки небольшие, но «тысячи их!». Решив их все, вы получите минимальный опыт, необходимый для того, чтобы набить руку и заниматься более серьезными проблемами. Кроме того, в курсе есть так называемые «большие задачи» (по сути, это мини-проекты) и полезные видео.

4. Четыре квеста, сорок уровней, тонны практических знаний.

Курс разбит на 4 квеста, каждый квест - это 10 уровней, которые нужно пройти. Первый квест содержит основы Java с нуля, синтаксис языка и огромное количество задач на эту тему. Среди задачек есть очень простые, на усвоение пройденного материала, есть задачи посложнее, а для решения которых придётся забежать наперёд и погуглить. Есть и задачи повышенной сложности для самых смелых. «Прыгнуть» на следующий уровень вы можете только при условии решения большинства задач текущего уровня. Если какие-то из них не поддаются, их можно смело отложить на потом. Таким образом, если вы дойдёте до конца, получите около 500 часов практического опыта программирования. Солидная такая заявка на успешную работу Java Junior!

Квест JavaSyntax Для начинающих. В этом квесте задачи и уроки по Java помогут усвоить основные языковые конструкции языка (переменные, условные операторы, циклы, методы, классы, основные сведения о коллекциях и объектах)
Квест Java Core В этом квесте вы изучите основы ООП, ознакомитесь с сериализацией и перегрузкой методов
Квест Java Multithreading Многопоточность - главное слово этого квеста. Но здесь речь пойдёт не только о ней, но также об устройстве классов Object и String и многом другом. Этот квест, а также следующий можно изучать одновременно.
Квест Collections Коллекции для Java-программиста, всё равно, что динамит для старателя. Их нужно знать, но важно понимать, как ими пользоваться. Также в этом квесте много информации о работе с JSON, Git, RMI, DynamicProxy и чуть-чуть о JavaScript

5. Онлайн-стажировка и подготовка к собеседованиям

Начиная с 35-го уровня JavaRush, а ещё лучше - после 40-го, студенты могут пройти специальную онлайн-стажировку, в ходе которой они получат полезные Java-уроки по передовым технологиям и сделают серьезный проект, который можно добавить в резюме. А ещё на этом этапе, ближе к концу обучения, наши специалисты помогут вам с составлением резюме. Также вам пригодятся различные статьи по трудоустройству и истории успеха тех, кто уже нашёл работу. Эти ребята часто пишут для нас интересные материалы и охотно делятся своим удачным и неудачным опытом с другими студентами.

6. Решение задач там, где удобно.

Решать задачи и отсылать их на проверку можно:
  • прямо на сайте. JavaRush - это не просто уроки Java для начинающих с заданиями. Это ещё и интерактивная среда для решения задач. Удобно: вы разбираете пример в лекции, и теперь вам нужно выполнить очень похожее задание. Такие маленькие задачки на закрепление материала можно делать прямо на сайте JavaRush: для этого мы разработали инструмент WebIDE;
  • для решения задач, которые требуют большего времени, рекомендуем использовать профессиональную среду разработки IntelliJ IDEA. Чтобы студентам JavaRush было удобно, мы создали функциональный плагин для этой популярной IDE. Плагин позволяет получить условие задачи в один клик и так же просто и быстро отправить решение на проверку;
  • после отправки на проверку, набранный вами код решений синхронизируется, если вы работаете с разных компьютеров/планшетов.

JavaRush и инструменты разработки Java

Образование не должно быть священной коровой, мы в этом уверены! Его нужно и можно менять. Именно так мы и поступили, и разработали курс программирования JavaRush, который, смеем вас уверить, не похож ни на один другой онлайн-курс.

Дата загрузки:2017-11-28T15:20:00


7. Мгновенная проверка решений.

Студенты не понаслышке знакомы с ситуацией: задача готова, а препод никак её не проверит. Именно так обстоят дела на очных курсах, где один преподаватель, который ведёт уроки программирования Java с нуля, занимается сразу с двумя десятками учеников (а то и больше) и ему попросту некогда проверять задания каждого из них. На JavaRush вы узнаёте о правильности/ошибочности решения мгновенно. Вы:
  • пишете решение на Java;
  • жмёте на кнопку «проверить»: ваше решение отправляется на сервер JavaRush!
  • секунда - и вы получаете информацию о правильности вашего решения и рекомендации в случае ошибок.
Новичку очень сложно вылавливать логические ошибки, которые не пропускает компилятор. Вы решаете задачу, но не знаете, правильное ли решение? Не беда: система рекомендаций JavaRush укажет, где скрыта ошибка в вашем решении.

9. Страница помощи.

Если даже система рекомендаций JavaRush вам не помогла и вы прочно встряли в попытках решения какой-то сложной задачи, загляните на страницу помощи - на этом сервисе вас не оставят один на один с проблемой. Вам обязательно поможет кто-то из студентов или команды JavaRush.

10. Группы по интересам и городам.

Cообщество - группы по интересам, где вы можете читать статьи других студентов и специалистов отрасли, писать собственные топики, участвовать в конкурсах, комментировать и обсуждать Java или околопрограммистские темы.

11. Соцсети и JavaRush

Подписывайтесь на группы JavaRush в VK и Facebook. В них вы можете обсудить ИТ-новости, Java уроки программирования, поделиться достижениями с друзьями, посмотреть видео-уроки Java или попросить помощи. ВКонтакте:

Программирую на Java вот уже 7 лет. Но на работе часто приходится обучать новое поколение. В связи с этим и решил сделать некоторую шпаргалку, которая, надеюсь, пригодится и для хабрчан. Если кто-то может помочь дополнить чем-то информацию из этой статьи, то пишите! Итак:

Основные ресурсы для начального обучения

  • www.javable.com - сайт со статьями и tutorial"ом по Java. Все в основном на русском.
  • www.exampledepot.com - очень полезный ресурс, где собраны краткие примеры использования классов для тех или иных пакетов
  • java.sun.com - без первоисточника не обойтись. Для любого Java программиста JavaDoc должен быть истиной в последней инстанции. Так же здесь можно найти серию tutorial"ов на все возможные темы.

Основные Java пакеты

Ниже приведён список Java пакетов, в которых программист должен свободно ориентироваться. Знакомиться с ними рекомендуется как по JavaDoc"ам , так и с помощью www.exampledepot.com . Все пакеты выстроены в рекомендуемом порядке для изучения. Итак:
  1. java.lang - основа основ. Каждый класс в этом пакете нуждается в отдельном внимании.
  2. java.io - ни одна программа не может обойтись без операций с вводом-выводом.
  3. java.util - пакет в основном содержит все необходимое для работы с коллекциями: Collection, Enumeration, Set, List, Map и т.д. и т.п.
  4. java.net - содержит основные классы для работы с сетью.
  5. java.text - все необходимое для форматирования текста
  6. java.lang.reflect - Java не была бы Java"ой если бы не Reflection. Reflection стирает грань между данными и кодом.
  7. javax.sql - все необходимое по работе с базами данных
  8. javax.xml.* , org.w3c.dom.* , org.xml.sax.* - без этих пакетов работа с XML просто немыслима

Ресурсы для расширения кругозора

  • onjava.com - рано или поздно все новости мира Java попадают сюда
  • www.javaspecialists.eu - ресурс полезен как новичкам, так и продвинутым программистам, так как содержит много статей о тонкостях работы с Java.
  • www.theserverside.com - рекомендуется подписаться на RSS, так как часто проскакивают весьма интересные вещи по Java.

Java Библитеки, которые должны знать все

Java не заканчивается знаниями лишь о возможностях JSDK. Чтобы чувствовать себя комфортно необходимо знать еще десятка два сторонних библиотек, используемых Java программистами повсеместно. Итак, начнем с основных:
  • Commons Lang - то что «забыли» включить в JDK
  • Commons Math - отличное дополнение для java.math
  • Commons Logging - логирование должно быть грамотным. За System.out.println для вывода логов начинающим программистам уже через неделю обучения следует отрубать руки.

Привет. Если ты читаешь эти строки, то подтверждаю, что это уроки Java. Курс просто напичкан практикой (1200+ практических задач) и рассчитан на взрослую аудиторию. Я ненавижу скучные лекции, поэтому JavaRush сделан в виде онлайн-игры (квеста).

Тебе приходилось играть и прокачивать персонажей? Иногда сам не замечаешь, как втягиваешься, да? Догадываешься, куда я клоню? В JavaRush тебе тоже придется прокачивать персонажа. С 1-го уровня до 40-го. Пройдешь весь курс - станешь крутым Java-программистом.

Пройдешь 40 уровней – сможешь устроиться на работу Java Junior. Хотя есть индивидуумы, которые уже на 20-м уровне нашли себе работу. Потому что в JavaRush много практических задач. Очень много.

События игры разворачиваются в далеком-далеком будущем, в 3017-ом году, где люди живут на Земле вместе с роботами, и любой может путешествовать по космосу.

Однажды один космический корабль разбился на неизвестной планете…

Предыстория

Команда Galactic Rush потерпела крушение на неизвестной планете. При падении корабль врезался в гору и оказался почти полностью засыпан обломками скалы. Несколько дней ушло на тщетные попытки освободить корабль. Экипаж потерял всякую надежду вернуться домой и начал обживаться на новом месте…

Неделю спустя Элли, штурман корабля, случайно обнаружила, что планета населена… тысячами диких роботов! Они бы могли помочь разобрать камни и освободить корабль. Но они очень примитивны и тупы - у них нет никаких навыков. Они даже камни таскать не умеют. Что было бы очень кстати.

Научный глава экспедиции, Профессор Нудлс, потом вспоминал:
- Через несколько дней я нашёл выход. Я додумался взять прошивку робота Диего, члена нашего экипажа, переделать её на прошивку каменщика и загрузить диким роботам.

Но неудачи, казалось, преследовали нас. После небольшого исследования выяснилось, что у роботов нет разъёма для загрузки прошивки. У них вообще не было никакого разъёма для перепрошивки!

Билаабо, единственный инопланетянин в составе экипажа, вспомнил, что когда-то на своей родной планете видел робота, который знал программирование. И не просто знал, а сам правил баги в своей собственной прошивке.

Именно в этот момент меня посетила гениальная идея. Ведь когда-то давно я научил одного способного робота программированию на Паскале.

Я приказал поймать самого талантливого молодого робота и обучить его программированию на Java. Умея программировать, он смог бы написать себе любую прошивку и помочь нам!

В общем, мы поймали один сообразительный экземпляр. Диего предложил назвать его Амиго, в честь своего брата, которого никогда не имел.

Я предложил Амиго металлические бусы за каждый месяц обучения, и десять долларов в год за последующую работу по устранению завала. Дикарям и этого много, ведь мы бесплатно занимаемся их просвещением.

Диего потом напишет в своих мемуарах:

Я был возмущён таким неприкрытым грабежом моего собрата, но вся команда стала на сторону профессора и Риши. Конечно же, я согласился (для вида) и предложил помочь научить Амиго. Хе-хе! Тем более, что никто не может обучить робота лучше, чем другой робот.

Все так сильно обрадовались моей уступчивости, что тоже решили принять активное участие в обучении Java робота Амиго.

Ты начинаешь с первого уровня. Твоя задача – прокачать Амиго до 40 уровня. Но давай начнем с малого. Для начала дойди до второго уровня . Может быть тебе так понравится, что ты не заметишь, как пройдешь курс и пойдешь работать;)

А теперь давай перейдем к обучению с нуля - жми на кнопку «Открыть следующую лекцию…» .