Изучение программирования java с нуля. Уроки программирования на Java

От автора: на этом языке программирования работает примерно 3 миллиарда смартфонов, 125 миллионов телевизоров и все до единого Blu-Ray проигрыватели в мире. Этот язык регулярно занимает призовые места в рейтингах разработчиков ПО и является самым востребованным среди крупнейших IT-компаний. Он является техническим феноменом и работает абсолютно на любом устройстве, что соответствует его принципу «написал один раз - запускай везде» (WORA - «write once, run anywhere»). Кто догадался, поднимите руки! Конечно же, это язык Java. И сегодня я раскрою вам все карты и расскажу всю правду о том, как стать Java программистом с нуля! Устраивайтесь поудобнее!

Несколько фактов о Java

Дабы не утомлять вас длинными теоретическими проповедями, я сгруппировал некоторые сведения о Java в списочек, после прочтения которого вы получите озарение понимание того, что это за язык такой, и какова его роль в дикой природе программировании:

Java - это «модный» и кроссплатформенный язык программирования. Он работает на любом устройстве с любой операционкой. На нем написаны все Google и Android-приложения. Ни по одному другому языку вы не найдете столько информации и обучающих материалов;

официальная дата выпуска языка - 23 мая 1995 г. Изначально он задумывался для интерактивного кабельного телевидения, но «не срослось». Изобретателем Java является компания Sun Microsystems, которую в 2010 г. выкупила Oracle;

многие путают Java и JavaScript. Если вы хотите заниматься (веб-сайты, веб-приложения), то выбирайте второй вариант. Java - это back-end, т. е. разработка начинки приложений;

это объектно-ориентированный язык программирования, код которого выполняется специальной виртуальной java-машиной (JVM). В США примерно на 9 из 10 компьютеров установлена эта самая JVM;

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

Вы все еще здесь или побежали сделать себе чашку ароматного кофе? Тогда продолжим разговор о том, как стать Java программистом.

Установка программной среды

Как ни странно, у некоторых возникают проблемы уже на этапе установки программной среды Java. Для этого нужно перейти на официальный сайт компании-разработчика - Oracle. Ссылку на актуальную версию вы увидите в самом верху сайта. Вам нужны Java SE (Standard Edition) и Java Development Kit - набор инструментов для разработки. Обратите внимание, что существуют разные дистрибутивы под разные операционные системы.

Допустим, у нас Windows. Заходим в «Свойства системы» и смотрим, какая у нас система - 32-разрядная или 64-разрядная. Скачиваем файл, который подходит нам по разрядности. Если выберете неправильный дистрибутив, то при компиляции кода получите ошибку. После подтверждения Accept License Agreement нажимаем кнопку скачивания.

Каков инструментарий Java-разработчика?

Большую часть времени программист проводит в IDE (IntelliJ IDEA, Eclipse, WebStorm, NetBeans). IDE - это интегрированная среда разработки, специальный интерфейс для программирования. Он не только помогает при написании кода, но и упрощает использование других инструментов программирования. Некоторые советуют тем, кто хочет стать Java программистом с нуля, первые свои программы писать в обычном блокноте или Notepad++.

Может, элементарные программы и стоит писать в редакторе. Но в дальнейшем все-таки настоятельно рекомендую использовать IDE. У нее есть функции автодополнения кода, контроля синтаксиса, перехода к определению метода и многие другие. А интеллектуальные подсказки избавят вас от необходимости помнить все названия функций и их параметры, что просто физически невозможно.

При командной работе, когда над одной программой работает сразу несколько человек, нужно обязательно использовать, так называемую, систему контроля версий (Perforce, Git, Subversion и т. д.). Впрочем, системы контроля версий очень удобны и при работе в одиночку.

Примерный алгоритм изучения Java

Изучение основ языка Java. Первый шаг - это развитие в себе навыков логического мышления и изучение фундаментальных понятий синтаксиса языка программирования. Вооружившись книгой, статьей или обучающим видео, научитесь создавать с помощью IDE или текстового редактора простые Java-объекты, в которых заложены различные варианты поведения, в зависимости от входных данных.

Разбор расширенных возможностей языка Java. На этом этапе изучите синтаксис, библиотеки и фреймворки, которые пригодятся вам при создании более сложных приложений с практическим уклоном. Хороший программист не только умеет пользоваться различными библиотеками, но и знает, как они устроены внутри. Кроме этого, такие понятия, как операции ввода/вывода, наследование и абстракции, сериализация, родовые типы, регулярные выражения, не должны быть для вас пустым звуком.

Современные тенденции и подходы в веб-разработке

Узнайте алгоритм быстрого роста с нуля в сайтостроении

Тонкости программирования. Ни в коем случае не брезгуйте тщательным изучением документации и жаргона Java-программирования. На этом этапе вы уже должны «мутировать» в зрелого программиста. Общайтесь с Java-гуру, которых вы найдете в тематических форумах и прочих средах, где собираются программисты. Показывайте им свой код, советуйтесь и советуйте другим - «накапливайте карму». Можете даже завести свой блог, публиковать на нем отрывки собственного кода и смотреть, что говорят о нем более опытные программисты.

Как начать программировать?

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

class HelloWorld { public static void main(String args) { System.out.println("Hello World!"); } }

class HelloWorld {

public static void main (String args ) {

System . out . println ("Hello World!" ) ;

Сохраняем файл под именем HelloWorld.java. Обращаю ваше внимание, что Java чувствительна к регистру, поэтому слова «helloworld» и «HelloWorld» являются разными. Если названия файла и класса в коде будут отличаться, то программа попросту не запустится. Кроме этого, важно, чтобы кодировка была ANSI.

Теперь мы должны скомпилировать программу, используя компилятор javac из JDK. Пока мы не установили среду разработки, будем компилировать с помощью командной строки cmd, вызвав ее из меню «Пуск». В появившемся окне набираем cmd и жмем Enter.

Если мы сохранили HelloWorld.java в папку Progа на диске C, то вписываем команду:

cd C : \ Prog а

и нажимаем Enter. Таким образом, мы изменили каталог на тот, где расположена наша программа. Затем вводим.

Начало текста Глава: Предисловие (или для кого эта книга) Глава: Введение (или рассказ о программировании) Часть 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". Первый же сайт в отобразившемся списке - наш.


Подборка материалов по Java. Если вы изучаете его, то обязательно найдете для себя что-то полезное и неважно на какой стадии изучения вы находитесь.

Список составлен с учетом выхода обновлений в языке. Для наилучшей ориентации все книги имеют свою категорию.

Новичку

Эта книга идеально подойдет для тех, кто только начинает свой путь в программировании на этом языке. Тут можно найти все, что только может быть нужным и необходимым программисту на первых порах. Она состоит из 17 глав, каждая из которых ознакомит вас с основами языка, его основными принципами и возможностями. Также в книге затрагиваются принципы работы с библиотекой Swing и платформой JavaFX, что непременно обогатит знания разработчика.

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

Книга содержит свод полезнейших правил, из которых станет очевидно, что делать, а что нет, чтобы сделать код максимально эффективным и чистым. Каждое правило сопровождается примерами для лучшего понимания.
Также будут рассмотрены особенности языка и библиотек. Множество различных приемов работы, советы опытных разработчиков. Всё это в совокупности поможет извлечь максимальную пользу из этой платформы разработки.

Знающему основы для углубленного изучения

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

Профессионалу

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

Книга подойдет всем тем, кто хочет повысить эффективность своей работы с программной платформы Java EE. Паттерны тут рассматриваются со всех сторон, как теоретически так и практически, на примерах решения прикладных задач.
Читатель будет ознакомлен с основными и отличительными возможностями Java EE7.

Книга довольно узкой тематики, однако это не делает ее менее полезной. Будет полезна для людей с разным опытом в программировании, еще не работавших с функциональным программированием.
Из книги вы узнаете, как пользоваться лямбда-выражениями, как они позволяют увеличить производительность. Книга станет вашим путеводителем в том, как сделать код проще и лучше, ознакомят вас с навыками работы с библиотеками. Информация сопровождается обилием примеров и безукоризненных объяснений, что сделает изучение темы интереснее и полезнее.

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

"Изучаем Java" - Кэти Сьерра, Берт Бэйтс

Head First Java подходит для тех, кто совершенно не разбирается в программировании. Этот учебник не даст углубленного понимания процессов создания кода, но дает возможность в нем ориентироваться, а также писать небольшие приложения.

Легко полученные знания служат как достоинством, так и недостатком книги, поскольку в процессе обучения придется расширять знания за счет дополнительных источников информации. Задачи в учебнике слишком простые, а в некоторых главах отсутствуют вовсе.

Несмотря на недостатки книги, это лучшее решение для вступления в изучение языка. Материал в книге изложен максимально простым и живым языком. Для лучшего запоминания большая часть информации подается в виде визуальных образов.

Отдельно следует отметить и книгу «Java для чайников» Барри Берда. В книге описаны основные концепции Java, грамматика языка. Подробно рассказывается, как повторно использовать код, обрабатывать исключения, создавать апплеты Java. Также описаны принципы объектно-ориентированного программирования и рассказано, как избегать самых распространенных ошибок.

«Философия Java» - Брюс Эккель

Данное пособие подойдет в качестве дополнения к плану обучения. Материал излагается непоследовательно в виде раскрытия базовых концепций программирования на Java. В русскоязычной версии довольно много теории и практически нет ни задач, ни примеров кода.

Исходя из особенностей содержания, можно с уверенностью заявить, что это лучшая книга по Java, которую можно использовать в качестве настольного пособия. Так как книга раскрывает особенности объектно-ориентированного программирования - базового аспекта программирования в целом.

«Java 8. Руководство для начинающих» - Г. Шилдт

Материал подается в лаконичной форме: сначала раскрывается теория, которая дополняется примерами. По мере изложения предложенные задачи усложняются. Каждый раздел состоит из подпунктов, в которых описаны все возможности тех или иных средств для создания кода.

Несмотря на очевидные преимущества, в учебнике нет задач для самостоятельного решения. Любые разъяснения дополнены фрагментами кода таким образом, чтобы предугадывать события, которые они создают.

«Java 8. Руководство для начинающих» Герберта Шилдта подходит в качестве учебника, по которому можно постепенно постигать важнейшие азы языка. После изучения каждой главы лучше самостоятельно искать задачи, которые помогут закрепить полученные знания. Книга достаточно структурирована, чтобы использовать ее в качестве настольного справочника.

Кей Хорстманн, Гари Корнелл - «Java. Библиотека профессионала. Том 1. Основы»

Данная книга переиздана для Java SE 8, поэтому в ней содержится только свежая информация. Новичкам и практикующим программистам учебник полезен тем, что его база знаний максимально структурирована. Подробный разбор синтаксиса и множество дополнительной информации углубит знания о сущности языка и позволит отточить уже имеющиеся навыки.

Обучение программированию с нуля при помощи данной книги необходимо дополнять усиленной самостоятельной практикой, так как здесь ее попросту нет. Благодаря этому проще контролировать усвоение материала.

«Java. Методы программирования» - Блинов, Романчик

Учебник написан на академическом языке, а потому подойдет студентам, желающим поскорее изучить основы Java. В первой части излагается суть объектно-ориентированного программирования, работа с классами и базовый синтаксис. Вторая часть включает работу с библиотеками, коллекциями, сетевые и многопоточные приложения.

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

«Язык программирования Java» - Кен Арнольд, Джеймс Гослинг

Особенность книги заключается в том, что обучает языку Java один из его разработчиков. Информация подана в предельно сжатой форме, благодаря чему учебник уступает по объему своим аналогам.

Изучение ориентировано на активную работу с содержимым. Поэтому можно с уверенностью заявить, что это лучшая книга по Java для тех, кто ценит серьезный подход к освоению программирования.

«Программирование на Java для детей, родителей, дедушек и бабушек» - Яков Файн

Это пособие позволит научиться основам создания кода всем желающим. По заверению автора, изучать данную книгу можно с 11 лет. И содержимое отлично подтверждает данную теорию.

В книге предельно простым языком описаны правила запуска кода, работа с редактором, процесс компиляции файлов. Основы ООП и синтаксиса представлены в разговорном стиле, который помогает объяснить функционирование языка на примере бытовых вещей. Написание программ представляется в виде игровых упражнений.

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

«Эффективное программирование» - Джошуа Блох

Книга содержит 57 правил для эффективного решения повседневных проблем, которые возникают в процессе программирования. Автор описывает новые приемы и методы, дает ценные советы, основанные на собственном опыте. Каждое из правил описано в виде главы, содержащей подробные пояснения и тонкости. Приводятся примеры, демонстрирующие применение описанных подходов к программированию.

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

«Java. Объектно-ориентированное программирование» - Алексей Васильев

Здесь собрана вся база знаний, необходимая для написания приложений любого уровня. В первой части описаны средства, с помощью которых можно создавать простые консольные программы. Особое внимание в книге уделяется созданию приложений с графическим интерфейсом. Для более профессионального подхода к программированию стоит изучить и вторую часть.

Книга зарекомендовала себя как наиболее полное пособие, которое подходит для освоения в пределах образовательной программы вуза. Собранная в структуру информация с подробными примерами и задачами для практики делает эту книгу по 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 для вывода логов начинающим программистам уже через неделю обучения следует отрубать руки.


Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: