Урок J-1. Установка Java на компьютер | Java для начинающих
Для того, чтобы начать программировать на языке Java, первоначально нужно установить программную среду на свой компьютер.
В этом уроке мы рассмотрим:
Скачиваем инсталлятор Java.
Скачать инсталляционный пакет можно на сайте компании Oracle по ссылке:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Качаем JDK последней версии (Java 7 или Java 8). Выберете в таблице (рис 1.1) вариант, подходящий для вашей операционной системы.
Рис 1.1
Дальнейшая установка будет рассмотрена на примере Windows. Если вы не знаете тип вашей Windows (x86 или x64) откройте Панель управления -> Система там будет указан Тип системы. Если тип вашей системы — 32 разрядная, то нужно устанавливать версию для x86, если 64 разрядная, то x64.
Внимание, перед тем как начать скачивание, нужно выбрать пункт Accept License Agreement вверху таблицы.
Если у вас компьютер Apple и на нем еще не установлена Java, то установочный пакет можно скачать отсюда: http://support.apple.com/downloads/#java
Инсталлируем Java.
Для того, чтобы установить Java на компьютер, запустите скаченный файл, после чего начнется процесс установки (рисю1.2).
Рис. 1.2
Нажмите Next.
Установка по умолчанию будет происходить в директорию C:\Program Files\Java\jdk1.x.x_xx (вместо иксов номер версии), при желании директорию можно изменить, нажав на кнопку Change (рис 1.3).
Рис 1.3.
Следуйте инструкциям мастера установки, и через несколько минут установка будет завершена.
По окончанию установки, программа предложит перейти к технической документации и руководствам по Java, для чего нужно будет нажать кнопку Next Steps. После этого в вашем браузере откроется страница с документацией Java http://docs.oracle.com/javase/ , которая является очень полезной для изучения.
Настройка переменных сред.
На следующем шаге необходимо задать пути к выполняемым файлам, а именно задать системные переменные PATH, CLASSPATH и JAVA_HOME .
Для этого откройте Панель управления -> Система, выберете Дополнительные параметры системы. В появившемся окне нажмите кнопку Переменные среды.
В открывшемся окне в блоке Системные переменные нужно проверить существует ли переменная PATH, если переменная не существует, то ее нужно создать нажав на кнопку Создать, если переменная PATH уже существует, то ее нужно Изменить (рис. 1.4).
Pис. 1.4
В следующем окне для переменной PATH нужно установить Значение переменной — путь к каталогу, в который была установлена Java (рис. 1.5).
Рис. 1.5.
Если переменной PATH уже присвоены другие значения, то новое значение добавляется через точку с запятой «;» в самом конце строки.
Также необходимо создать переменную CLASSPATH, если она еще не создана. В качестве ее значения необходимо указать «.;» (рис. 1.6).
Рис. 1.6.
Подобным образом создается/изменяется переменная JAVA_HOME. Значение этой переменной — путь к каталогу, в который была установлена Java (как для PAHT), но уже без поддериктории bin. Например:
Значение в PATH: C:\Program Files\Java\jdk1.7.0_25\bin
Значение в JAVA_HOME: C:\Program Files\Java\jdk1.7.0_25
После того, как были прописаны переменные, установку Java можно считать завершенной!
Проверка установки.
Чтобы проверить, успешно ли прошла установка, откройте командную строку. Для этого в меню Windows Пуск в строке поиска введите команду cmd и нажмите Enter. После этого откроется командное окно, в котором нужно ввести следующую команду.
java -version
После чего, если отобразится информация об установленной версии java, то установка прошла успешно.
Рис. 1.7
Частые проблемы:
- «java» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
Проверьте правильность пути, прописанного в PATH. Старайтесь избегать пробелов в названии папки, в которую производите установку JDK. Если вы считае, что путь прописан правильно, то следует убедиться, что в дирpектории, которая прописана в строке PATH присутствует файл javac.exe, и что установленна была именно JDK, а не JDE,
- не является приложением win 32
Возникает в следствии установки версии Java, не соответствующей разрядности системы (например, при установке 64 разрядной версии Java в 32-разрядную операционную систему).
- Ошибка, призывающая проверить JAVA_HOME
Проверить, что в этой переменной хранится путь к установленной JAVA (без bin)
Комментарии и пинги к записи запрещены.
study-java.ru
Бесплатные онлайн курсы программирования по языку Java на русском
Знакомимся с основными понятиями и особенностями языка Java — JDK, JRE, Java SE/EE/ME. В чем отличие между интерпретаторами, компиляторами и что такое байт-код?
Написание, компиляция и запуск первого Java-приложения из командной строки. Упаковка в JAR файл. Знакомство со средой разработки IntelliJ IDEA.
Исходный текст программ на Java состоит из совокупности пробелов, идентификаторов, литералов, комментариев, операций, разделителей и ключевых слов.
В этом уроке курса изучаем основные управляющие операторы языка Java — условные операторы, операторы цикла, операторы перехода, а также метод System.exit().
Рассмотрим что такое массив (или array), какие они бывают, создание и заполнение массива, полезные методы для работы с массивами в языке программирования Java.
В этом разделе рассмотрим стандартные алгоритмы и алгоритмы сортировки массива, реализованные на языке программирования Java. Существует много видов сортировки.
Что такое системы контроля версий (VCS), чем отличаются git и GitHub. Создание локального git репозитория в среде IntelliJ IDEA, клонирование репозитория.
Основы и принципы объектно-ориентированного программирования (ООП). Классы, объекты, наследование, перегрузка, переопределение и управление доступом.
Ключевое слово языка Java static используется для определения статических членов классы — переменных, методов, блоков.
Класс Object является суперклассом для всех остальных классов. Методы класса Object доступны всем остальным классам языка программирования Java.
Знакомство с интерфейсами и перечислениями. Отношения между классами — HAS-A и IS-A, а также преобразование ссылочных типов.
Классы обертки (или оболочки), их создание, использование. Обзор полезных методов классов. Преимущества механизма автоупаковки и распаковки.
Работа со строками в Java языке осуществляется с помощью классов String, StringBuilder и StringBuffer. Форматирование строк и регулярные выражения.
Что такое локализация (l10n) и интернационализация (i18n) приложений, в чем заключается разница между ними и как они реализуются в языке программирования Java.
Описание и примеры использования нового Date/Time API в Java 8. Классы LocalDate, LocalTime, LocalDateTime, Instant, Period, Duration.
Внутренние классы в Java — обычные, локальные, анонимные, статические вложенные. Что такое обобщения или дженерики в Java. Создание обобщенных классов, методов.
Коллекции — одна из важных частей Java SE. Рассмотрим основные интерфейсы, классы и алгоритмы Collection framework. Изучим существующие структуры данных.
Что такое исключения в языке Java и как их обрабатывать. Иерархия исключений, контролируемые и неконтролируемые исключения. Создание собственных исключений.
Потоки ввода — вывода в языке Java делятся на байтовые и символьные. Рассмотрим классы из пакета java.io, позволяющие работать с потоками данных.
Reflection API
Механизм сериализации позволяет сохранять состояние объектов и восстанавливать их (десериализовывать). Рассмотрим также и другие способы клонирования объектов.
Генерация документации в языке Java с помощью утилиты Javadoc. Список дескрипторов Javadoc.
Инструмент для сборки проекта Maven — его жизненный цикл, плагины, репозитории, изучение файла pom.xml.
Работа с реляционными базами данных и язык запросов SQL. Построение и нормализация баз данных. Типы данных и виды ключей. SQL запросы и объединения.
Java DataBase Connectivity — стандарт соединения с базами данных, входящих в состав Java SE. Позволяет работать с базами данных из Java приложений.
Реализация многопоточности в языке Java с помощью класса Thread и интерфейса Runnable. Методы класса Thread. Синхронизация и взаимодействие потоков.
Что почитать? Список лучших книг по основам языка Java, ссылки на форумы, ресурсы с тестами и вопросами для изучающих Java программирование.
Код должен быть не только рабочим, но и чистым. Существуют общепринятые правила и рекомендации Oracle по написанию кода в языке Java.
В этом разделе приведен список ПО необходимый для работы на курсе «Java программирование». А также ссылки для скачивания и описание по установке.
www.examclouds.com
Советы по изучению Java
Каждый неофит Java ставит перед собой вопрос, как ему освоить данный язык? Ответов в сети предостаточно, я же попытаюсь объединить часть из них и приправить все это своим опытом. Как говорится летс гоу:
- В чем залог успеха изучения языка программирования?
В понимании того, зачем вам это нужно. Тут такие дефиниции как «программировать круто» или «буду делать компьютерные игры» или «ща выучу по быстрому и буду бабки нормальные получать» не прокатит. Нужна мощная мотивация и выход из зоны комфорта, которые помогут вам избежать прокрастинацию и лень. Нужна четкая цель с пошаговым планом и с датами. Лучше потратить на такую проработку неделю, чем просто начать хвататься за все подряд. На своем примере скажу — выучить язык мне мешает моя текущая профессия, просто не каждый синиор девелопер в нашей стране получает такой зароботок — поэтому для меня это пока хобби, а от сюда соответствующие результаты.
- Что лучше: учить самостоятельно, записаться на курсы или найти ментора?
Мое мнение — надо задействовать максимум возможных способов обучения исходя из вашего свободного времени. Можно конечно возразить, дескать, зачем проходить на курсах то, что написано в учебнике или в официальной документации, да еще и денег в десятки раз больше отдать. НО, не забывайте, что повторение — мать учения, кроме того, на курсах вам сто процентов сделают акцент на какой-нибудь важный нюанс, который вы пропустили при самостоятельном обучении. Еще на курсах вы сможете найти себе будущего партнера на реализацию собственного проекта, пусть и в учебных целях, но все же согласитесь — хороший бонус. Ментор (персональный наставник) это вообще самый отличный путь из всех возможных. Еще хотелось бы сказать, что если вы учитесь самостоятельно по книгам, то, в принципе, вы сможете выучить язык на требуемом уровне, а вот ходить на курсы и не читать книги — не получится. Итак, еще раз, учим ВСЕМИ возможными способами:
- Читаем книги и документацию (обязательно!!!).
- Ходим на курсы/вебинары (если нет денег — качаем в записи).
- Консультируемся у ментора (дорого, зато эффективно).
- Пишем свои мини программы (обязательно!!!).
- Участвуем в open source проектах на java.
- Устанавливаем обучающие программы на свой смартфон.
- Помогаем отвечать на вопросы других неофитов java.
- Заводим блокнот, в который записываем все то, что дается вам сложно.
- Участвуем в онлайн соревнованиях по решению задачек на языке.
- Смотрим обучающие видео в интернете и подписываемся на тематические группы в социальных сетях.
- После первых же пройденных занятий начинаем отвечать на вопросы, которые задают на собеседованиях на junior java программиста (в интернете куча вариантов).
- Окружаем себя всем тем, что поможет вам изучить язык, хоть магнитики на холодильник вешайте, главное, чтобы помогало.
Страшно? Не бойтесь, далее обо всем поподробней.
- Столько много литературы по теме, с чего начать, что читать?
Книги это ваш основной источник знаний. О том, что без книг не обойтись я уже сказал. Книги по Java, условно, можно поделить на две группы — для профессионалов и для новичков. Книги для профессионалов обычно содержат в себе информацию по узкоспециализированному вопросу языка, например «Лямбда-выражения в Java 8», или описывают принцип работы (архитектуру) виртуальной машины, где рассказывается почему разработчики языка стали использовать такой подход в решении вопроса, а не иной. Понятно, что они нам не подходят. Наша цель — книги для новичков. Тут лидерами являются 3 книжки:
- Java 8. Полное руководство. (Java: The Complete Reference, Ninth Edition) / Герберт Шилдт. — 9 издание. — 2016 — 1376 с.
- Java. Библиотека профессионала. Том 1. Основы. (Core Java Volume I — Fundamentals) / Кей С. Хорстманн. — 2016 — 864 с.
- Изучаем Java. (Head First Java ) / Кэти Сиерра, Берт Бейтс. — 2016 — 720 с.
Шилд показался более структурированный в части последовательности подачи материала. У Хорстманна часто дается код с комментарием «это вы узнаете в следующей главе», зато примеры более сложные и близкие к реальности. Выбирая между этими двумя книгами я бы сказал так — если вы никогда ничего не слышали про программирование — то ваш выбор Шилд (хотя я советую Head First Java). Если вам не надо читать в википедии что такое «цикл», «переменная», «оперативная память» и вообще у вас математический склад ума и вы всегда интересовались техникой и IT отраслью — то я бы посоветовал Хорстманна (более сжатая и информация, меньше времени потратите на учебу). «Изучаем Java» — книга в первую очередь для визуалов и гуманитариев, хотя я лично планирую обучаться далее по ней. Книга похожа на конспект лекций по программированию от дизайнера. На каждой странице будут смешные запоминающиеся картинки с принципами написания кода. По ходу текста присутствуют вставки с наиболее часто встречающимися вопросами и заблуждениями учащихся по описываемой теме. Кроме того, в конце каждой главы есть тестовое задание и / или кроссворд из терминов пройденного материала.
- Где найти книги, на каком языке читать?
Тут все просто — в интернете всего этого полно, но нормальное качество только на английском языке. Смеритесь с тем фактом, что читать техническую литературу (книги, официальную документацию, статьи по актуальным подходам программирования) вам в любом случае, придется на английском языке, поэтому начинайте прямо с учебного процесса! Конечно, если вы в школе изучали немецкий и про английский не слышали, то это — беда и боль. Сначала придется познать азы английского языка и грамматики, после чего попытаться сесть за техническую литературу со словарем. Как вариант — можно приобрести книжное издание на русском языке, но на перевод не пожаловался только ленивый, да и потенциальный работодатель сильно посомневается, прежде чем связаться с вами.
- Какие курсы посоветуешь?
Не забываем, что курсы это не обязательный элемент в вашей схеме обучения. Курсы бывают онлайновые (интерактивные без участия преподавателя), в виде вебинаров и классические оффлайновые. На последние нужно много времени и денег, из интерактивных мне еще не встречались варианты, которые покрывали бы большую часть java core. По моему мнению вебинары являются золотой серединой. Перед выбором вебинара я советую вам почитать отзывы о преподавателе, это очень важно.
- В интернете встречал(а) много лекций и пошаговых обучалок, их достаточно для изучения Java?
Нет. Еще раз, полное описание языка есть только в книгах и официальном мануале. На многих ресурсах такие обучалки содержат тонну ошибок, вдобавок они плохо структурированы. Из всего многообразия посоветую https://www.tutorialspoint.com/java/ Хотя, материала по данному языку ежегодно выходит море и все на отследишь. Не могу утверждать, что не появилось что-то более адекватное и стоящее. Если вбить в гугл learn java или java tutorial, то просто глаза разбегаются, все пересмотреть просто невозможно! Вот еще два блога, которые мне понравилсь, правда их уже почти не ведут http://pr0java.blogspot.ru/p/blog-page.html и http://kostin.ws/java/
- В смартфонах тоже есть приложения обучающие программированию?
Куда же без смартфонов. У меня Android и я установил для себя с десяток программ, большая часть из них представляет собой какие-то нарезки из официальной документации с ужасным интерфейсом и шрифтом. В целом могу посоветовать вам следующие: SoloLearn, Learn Java, JavaSamples, Enki, Algorithms. Уверен что и на iOS можно будет найти похожий арсенал ПО.
- Стоит ли смотреть видеоуроки? И если да — то какие?
Как говорится «лучше один раз увидеть, чем сто раз услышать». Визуальная картинка всегда воспринимается лучше. Кроме того, на видео вы можете подсмотреть различные фишки работы с IDE или с каким-либо уникальным инструментом разработчика. На том же youtube куча каналов и видео посвященных java. Единственное, чего я советую избегать — каналов для профессионалов (в основном видео с конференций для программистов) и каналов, где, обычно, стоит мужик на фоне маркерной или меловой доски и что-то там рассказывает на протяжении нескольких видеороликов подряд, периодически что-то чертя на доске. Обычно в таком виде встречаются видеолекции для студентов (ну и презентации с конференций), они нудные и мало информативны, точнее они обычно про теорию, а нам нужна ПРАКТИКА, на видео должен быть представлен КОД.
- Как-то нудно все, есть ли интересные формы обучения java?
Тадам, вам повезло, за окном 21 век и все смотрят в сторону поколения Z, а оно, как известно, без игровой формы вообще мало что переваривает 🙂 Искали? Держите!
https://javarush.ru
https://www.codewars.com
https://www.codingame.com
https://www.hackerrank.com
Вот вам ещё парочка достаточно известных сайтов с задачками, но уже не в игровой форме:
www.codeabbey.com
www.codingbat.com
- А почему все ресурсы в интернете ссылаются на какой-то github?
Хотите вы того или нет, а современное программирование не представляет свою жизнь без системы контроля версии. Она позволяет делать ответвления в программном коде (вилки в разработке), облегчает работу в команде, а так же позволяет вернуться к сохранной точке в программном коде (если вы вдруг поняли, что направление которое вы выбрали — тупиковое, и надо вернутся к коду, который был 3 часа назад). Гитхаб — это как раз такой оналйновый сервис. Опять же для смурфпрограммистов как я есть игровой сайт-обучалка:
https://www.git-game.com/
- Вы советовали отвечать на вопросы новичков в программировании на Java, но я же сам только начал учить язык!
Нет лучшего способа что-то запомнить, чем научить этому кого-то другого. Смело топаем на такие форумы и площадки как :
cyberforum.ru
programmersforum.ru
codeby.net
sources.ru
ru.stackoverflow.com
И пытаемся отвечать на вопросы пользователей
- Где на просторах интернета можно взглянуть на вопросы на вакансию junior java программиста? С ответами кАнеШнА 🙂
Начните с этой статьи:
https://javarush.ru/groups/posts/2002-23-voprosa-chasto-zadavaemihkh-na-sobesedovanijakh
Да пожалуйста:
http://javastudy.ru/category/interview/
https://javatalks.ru/topics/9373?page=1
http://wizardjava.com/java/java-voprosy-na-sobesedovanii-i-otvety-chast-1
http://wizardjava.com/java/java-voprosy-na-sobesedovanii-i-otvety-chast-2
Тут вроде нет ответов:
http://becomejavasenior.com/blog/2015/07/01/327-interview-questions-java-developer/
- Какие материалы и ресурсы в интернете еще можно посмотреть, почитать, изучить?
Их много, все и не перечислишь. Можно порыться на coursera.org плюс udemy.com или посмотреть лекции от MIT.
- Что учить после того, как я выучу Java Core?
Java core это приблизительно 30% от того, что надо знать уважающему себя java программисту :))) К тому моменту как вы закончите обучения Java Core, вы уже сами будете знать что учить дальше. А дальше идет развилка технологий — все зависит от того чем вы хотите заниматься. Тут есть несколько основных направлений:
- работа на корпоративный сектор — изучать стек технологий относящихся к спецификациям JavaEE (Enterprise Edition — почитайте по ссылке абзац с перечнем технологий). Основным инструментом тут является Spring Framework. Понятно, что данное направление ориентировано на написания серверной части проектов — backend.
- разработка под мобильную платформу android — не секрет, что приложение для данной платформы пишутся именно на java (в данный момент популярность набирает язык Kotlin). При выборе данного направления изучается свой отдельный набор технологий. Самым популярным фреймворком для андройда являеся Dagger.
- создание игр — а вот тут я вас хочу огорчить, для этого редко используется Java. Практически все игры в наше время пишутся на игровых движках. Самые популярные из бесплатных (платить придется за дополнительные модули) Unity и Unreal Engine, самое смешное, что первый использует для написания кода C# а второй С++ и визуальный скриптовый язык блупринтов. То есть java в игровой индустрии в пролете!!!
Как вы заметили java не очень популярна в части frontend языка. Кроме вышеперечисленного вам в любом случае придется изучать SQL запросы (какое направления вы бы не выбрали), а так же html/xml/css т.к. без веба в наши дни никуда. Программировать в наши дни без знаний паттернов проектирования тоже сложно. Хорошим подспорьем будет изучение основ javascript, т.к. этот язык находится на буме своей популярности и его пихают во все щели (и сайты на нем пишут, и игры, и приложения для мобилок, и уже на сервер портировали благодаря Node.js), короче быть НЕ КОРПОРАТИВНЫМ программистом и не сталкиваться с javascript в наши дни невозможно.
На этом все. Обещаю постепенно дописывать статью, а вы не стесняйтесь — задавайте вопросы, по возможности отвечу 🙂
buran9.ru