Короткий опис набір рекрута новачка (або історія про те, як Коломійцю в лом писати повний FAQ)

Завантажити інсталяційний пакет можна на сайті компанії Oracle за посиланням:

Інсталюємо Java.

Для того, щоб встановити Java на комп'ютер, запустіть завантажений файл, після чого почнеться процес установки (рісю1.2).

Натисніть Next.

Установка за замовчуванням буде відбуватися в директорію C: \\ Program Files \\ Java \\ jdk1.x.x_xx (замість іксів номер версії), при бажанні директорію можна змінити, натиснувши на кнопку Change (рис 1.3).

Дотримуйтесь інструкцій майстра установки, і через кілька хвилин установка буде завершена.

По закінченню установки, програма запропонує перейти до технічної документації та інструкцій з Java, для чого потрібно буде натиснути кнопку Next Steps. Після цього в вашому браузері відкриється сторінка з документацією Java http://docs.oracle.com/javase/, яка є дуже корисною для вивчення.

Налаштування змінних середовищ.

На наступному кроці необхідно задати шляху до виконуваних файлів, а саме поставити системні змінні PATH, CLASSPATH і JAVA_HOME.

Для цього відкрийте Панель управління -\u003e Система, ви берете Додаткові параметри системи.У вікні натисніть кнопку змінні середовища.

У вікні, в блоці Системні змінні  потрібно перевірити чи існує змінна PATH, Якщо змінна не існує, то її потрібно створити натиснувши на кнопку створити,якщо змінна PATH вже існує, то її потрібно   змінити(Рис. 1.4).

У наступному вікні для змінної PATH потрібно встановити значення змінної  - шлях до каталогу, в який була встановлена ​​Java (рис. 1.5).

Якщо змінної PATH вже присвоєні інші значення, то нове значення додається через крапку з комою «;» в самому кінці рядка.

Також необхідно створити змінну CLASSPATH, Якщо вона ще не створена. Як її значення необхідно вказати «.;» (Рис. 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, то установка пройшла успішно.


Часті проблеми:

  • «Java» не є внутрішньою або зовнішньою командою, що виконується програмою або пакетним файлом.

Перевірте правильність шляху, прописаного в PATH. Намагайтеся уникати прогалин в назві папки, в яку робите установку JDK. Якщо ви вважаєте, що шлях прописаний правильно, то слід переконатися, що в дірpекторіі, яка прописана в рядку PATH присутній файл javac.exe, і що встановлена ​​була саме JDK, а не JDE,

  • не є додатком win 32

Виникає в результаті установки версії Java, що не відповідає розрядності системи (наприклад, при установці 64 розрядної версії Java в 32- операційну систему).

  • Помилка, що закликає перевірити JAVA_HOME

Перевірити, що в цієї змінної зберігається шлях до встановленої JAVA (без bin)

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

Ось 5 мов програмування, які після Java зроблять найменший негативний ефект:

C #

C # - мова, з яким так чи інакше стикався будь-який випускник кафедри програмування (тим більш досвідчений розробник). Саме тому багато хто погодиться, що, беручи до уваги мов, що транслюються в JVM, це найбільш схожий представник. Крім того, C # затребуваний, а це важлива умова, якщо ви збираєтеся монетизувати свої знання.

Що спільного: дуже складно втриматися від цитування статті на Вікіпедії, тому ось вам факти.

Обидві мови так чи інакше є розвитком C ++. Більш того, творці C # називають свою мову розвитком Java. Крім того, обидві мови строго слідують принципам ООП.

А ще у них схожий синтаксис:

/ * HelloWorld.java * /

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

// HelloWorld.cs
  public class HelloWorld
{
   public static void Main ()
{
   System.Console.WriteLine ( "Hello World!");
}
}

І у Java, і у C # типізація сувора, що до певної міри сприяє підвищенню безпеки в області використання пам'яті. Ще у мов схожі алгоритми збірки сміття. Ще один важливий схожий момент, прекрасно характеризує обидві мови. Нарешті, обидва вони кроссплатформенную.

Від чого захочеться лаятися: Microsoft і природна зав'язаність на їх екосистему.

Swift

Якщо ви вивчили Java для розробки мобільних додатків, То Swift стане логічним кар'єрним розвитком. Більш того, не так давно чутки наполегливо пов'язували майбутнє платформи Android з Swift, проте в підсумку Google відстояло своє право на використання Java. Втім, хто поставить свій комп'ютер на те, що в подальшому Google не зверне з цього курсу? У будь-якому випадку, вміння писати "правильні" додатка для iOS зайвим точно не буде.

Що спільного: обидві мови статично типізовані, обидва мають спадкову зв'язок з С, схожі принципи спадкування, перевантаження методів, протоколи і т.д. В кінці-кінців, на сьогоднішній день це два головних мобільних мовних табору.

Від чого хочеться лаятися: подібно C #, екосистема Apple може викликати відторгнення.


Kotlin

Цукор для синтаксису - поширена думка щодо Kotlin у розробників Java, що ознайомилися з ним лише поверхово. Куди більш досконалий мову і найбільш очевидний наступник Java з існуючих - стверджують люди, які присвятили вивченню Kotlin трохи більше часу. У будь-якому випадку, як би не склалося ваше знайомство, байдужим залишуся навряд чи.

Що спільного: творці не приховують, що Kotlin є доопрацюванням Java з перспективою повного заміщення. Тобто фактично Kotlin поєднує все те, за що ви полюбили Java, але при цьому ще зручніше, безпечніше і функціональніша. Працює з віртуальною машиною  JVM.

Від чого хочеться лаятися: і кому потрібна Java, якщо є Kotlin?

Python

Вивчити Python після Java варто хоча б тому, що це просто. У всіх рейтингах, опитуваннях і, присвячених вибору першої мови програмування, Python незмінно знаходиться в топі.

Що спільного: практично нічого, крім деяких загальних принципів  ООП і кроссплатформенную.

Від чого хочеться лаятися: занадто далеко від звичного розуміння про програмування.

Go

Повертаючись до теми можливого відмови Google від Java в своєму мобільному майбутньому, варто всерйоз розглянути варіант розвитку подій, при якому спадкоємцем стане Go. Поки що мова здорово проявляє себе в звичному середовищі Big Data, тобто сьогодні, як мінімум, Go може послужити корисним розширенням для функціональності вашого додатка. Але якщо Go продовжить розвиватися заданими темпами, а Google вирішиться на внутрішню революцію, то знання цієї мови стане не бонусом, а практично необхідністю. До речі, пару років тому один з творців Go, виклав в мережу цікаву презентацію з назвою "Go для Java-програмістів". Рекомендується до перегляду.

Що спільного: формально загального тут приблизно стільки ж, скільки і у випадку з C #: походження від мови C, сувора типізація, алгоритми очищення пам'яті, схожі методи, інтерфейси і багато іншого. Але, як мова, створена майже через 15 років після Java і через 10 після C #, Go він куди більш досконалий, функціональніша і перспективніше.

Від чого хочеться лаятися: незважаючи на те, що мова Go не вчора був придуманий, при поглибленому вивченні ви неминуче зіткнетеся з

вивчаємо Java

  Вивчити Java - поняття абстрактне. Необхідно уточнення. Вивчити всі класи Java - нереально, точно так же, як і найбільш затребувані бібліотеки для Java. Вивчити синтаксис Java - простіше. Досить прочитати, наприклад, класиків:
  • Герберт Шілдт «Java. Керівництво для початківців »
  • Кея Хорстманн «Java 2»
  • Кен Арнолд, Джеймс Гослінг, Девід Холмс «Мова програмування Java»
  • Джошуа Блох. «Java. Ефективне програмування »
   Також є багато онлайн курсів:
   Особливу увагу необхідно звернути на такі речі, як внутрішні статичні і звичайні класи, анонімні класи, параметризація, колекції та багатопоточність.

Друга річ після синтаксису мови - найбільш часто використовувані API. На початковому етапі це сервлети, JSP, JDBC, JUnit.

Потім йде річ, потрібна будь-якому програмісту (не тільки Java) - кругозір. Так само як SQL, XML (xsd, xslt, XPath), HTML, JavaScript, Unix shell тощо.

Нарешті, інструменти розробки. Загальні: налагодження в браузері (наприклад firebug для FF), системи багтрекінга і контролю версій, СУБД, інструменти CI і Java: Ant / Maven, веб-контейнери / сервери додатків.

Практика

  Добре вчиться мову в процесі написання програми середнього обсягу. Особливо якщо намагатися писати його правильно- тобто ~ 70% часу гуглити на тему кращого рішення  кожної локальної проблеми  і кращого варіанту коду. Для пошуку особливо рекомендую ресурс stackoverflow.com, у відповідях якого потрібно буде відокремити зерна від плевел. Особливо добре, якщо це не абстрактне додаток, а щось потрібне. Або, наприклад, тестове завдання на роботу. Вам круто пощастить, якщо Ви знаєте предметну область, хороший програміст і Вас готові взяти на роботу без досвіду в Java - тоді Ви отримуєте досвід а вам ще за це платять. Тут. Я б тільки не став зводити все до грошей і кар'єрі. Коли наберетеся досвіду і буде можливість вибирати, можна кодувати для себе, для задоволення. Ну і вигідно продати себе - це теж частина гри в програмування, міра вашого професіоналізму.

Співбесіда

  Зовсім недавно на Хабре опублікували з позиції работадателей. Там теж люди :) і чим більше людські відносини у вас сложаться з проводить співбесіду - тим більше шансів на успіх. Ну і взагалі - залишиться приємний осад. Однак, з яких я б пішов з почуттям, що ми мало підходимо один одному і добре, що мені не доведеться працювати з таким начальником. Нарешті, як тільки відчуєте достатню впевненість, ходите на співбесіди! (Для людей з досвідом, я б ще додав дослідження ринку з позиції архітектури, рішень і технологій, з частотою пару раз на рік і на позиції які дійсно цікаві). Причому намагайтеся з кожного винести максимум. Якщо не знаєте - не соромтеся поцікавитися правильною відповіддю.
   Після співбесіди відразу сідайте за гугл до повної ясності і не сидіти склавши руки, чекаючи результату. Продовжуйте займатися тим же, що і до нього: навчатися і ходити на такі інтер. Ставтеся до цього як до процесу. У разі, якщо відповіді не дали в зазначений термін, не соромтеся подзвонити і поцікавитися результатом. У разі, якщо у Вас є email проводить співбесіду (наприклад вам прислали тестове завдання), і зрозумілої відповіді від HR не дочекатися, можна поцікавитися результатом безпосередньо. Розумний строк для пингования - раз в тиждень. Я десь півтора місяці, нічого особливого не чекаючи, раз в тиждень спочатку телефонував, а потім листувався з Yota. В результаті мене передали в інший відділ, де умови виявилися кращими, ніж ті, куди я спочатку проводити співбесіду.
При цьому, все таки, основа будь-якого співбесіди на позицію Java-розробника це ваші знання: загальне розуміння суті програмування взагалі, java зокрема і специфічні речі java. Наприклад: «Скільки примірників Синглетон може бути в одній JVM?» (Необхідно вимовити ключову фразу- залежить від ClassLoader). Ось. Причому це далеко не всі питання. Мене, наприклад, спросілі- чому береться не просто хеш ключа, а в ньому ще перемішуються байти? Питання скоріше на загальне розуміння роботи HashMap і кмітливість, відповідь можна подивитися в реалізації HashMap. Звичайно, все перераховане вище не зажадають від Junior. Але чим більше знань у Вас буде - тим вище Ваші шанси.

підсумки

Шлях в тисячу миль починається з одного кроку
Якщо часом не обмежені, можна пробувати освоїти все самостійно. Якщо немає, постає питання - як отримає за мінімальний час максимальну кількість знань? Можна пошукати індивідуальне репетиторство (особливо якщо прогалини в чомусь конкретному) або закінчити Java курси з максимально широким і глибоким входженням в тему. Я б виділив наступні критерії відбору:
  • Викладає програміст. З питаннями та завданнями зі співбесід і знанням Java не тільки за книжками.
  • Практика. Найкраще, коли на протязі курсу розбір теорії йде разом із технічною характеристикою додатком.
  • Робота в IDE (пишу, тому що бачив на YouTube курси java в notepad).
  • Охоплення. Максимальна кількість тем за відведений час (крім власне Java виділю важливі теми: робота з XML, SQL / JDBC, сервлети / JSP, JUnit). Звичайно, не на шкоду розумінню.
       Для цього чаcть нескладного матеріалу (синтаксис, операції, типи, керуючі конструкції) слухачі вивчають самостійно (безкоштовно).
   Дуже важливий на курсі (за відгуками слухачів) баланс між практикою, коли на занятті розробка програми йде разом зі студентами, і коли йде тільки демонстрація розробки. Якщо весь код програмувати разом, пройдемо десь половину програми, при цьому увага зосереджується не так на вмісті, а на тому, щоб успесть записати код. Якщо йде тільки демонстрація, слухачі не зможуть працювати з проектом самостійно, незважаючи на наявний код. І особливо важливі домашні завдання, коли відбувається засвоєння пройденого матеріалу.

Якщо Ви збираєтеся (або продовжуєте) вивчати Java, то сподіваюся, що Вам було небезінтересно :).
  Дякуємо.

PS: Перепост з пісочниці, куди я потрапив за посилання на курс. Окреме спасибі користувачеві Хабра, повернення мені інвайт.

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

На сторінці є дві версії "IntelliJ Idea": повністю безкоштовна "Community" і платна "Ultimate" з 30-ти денним безкоштовним періодом. Природно, платна версія краще, так як в ній є більше зручних інструментів і можливостей, ніж у безкоштовній. Однак, для більшості програм цілком вистачає можливостей, які надає безкоштовна версія  "Community". Тому натискаємо на кнопку "Download" під назвою "Community" і завантажуємо файл для інсталяції.
Як встановити і налаштувати "IntelliJ Idea" (в операційній системі Windows 7)?
  Для того щоб встановити середовище розробки "IntelliJ Idea", необхідно запустити інсталяційний exe-файл і далі слідувати вікнам-крокам інсталяції:
  1. У першому вікні просто натискаємо кнопку "Next".

2. У другому вікні спочатку вибираємо папку, куди буде встановлюватися "IntelliJ Idea". Для цього тиснемо кнопочку "Browse ..." і вибираємо потрібне місце на диску.
  Примітка: Не встановлюйте "IntelliJ Idea" на системний диск (він зазвичай вказаний за умовчанням).
  Після вибору правильного місця для установки IDE натискаємо на кнопку "Next".

3. У третьому вікні потрібно виставити потрібні прапорці.
  Якщо у вас 32-бітна операційна система  вибирайте "32-bit lancher". Якщо у вас 64-бітна операційна система вибирайте "64-bit lancher".
  Також слід відзначити галочкою розширення ".java". Це потрібно для того, щоб операційна система розпізнавала файли з розширенням ".java" і за подвійним клацанням відкривала їх в "IntelliJ Idea".
  Після проставлення всіх необхідних відміток натисніть кнопку "Next".

4. У четвертому вікні просто натискаємо на кнопку "Install".

5. На цьому етапі чекаємо поки "IntelliJ Idea" встановиться на ваш комп'ютер.

6. Оскільки нам потрібно відразу налаштувати "IntelliJ Idea" відзначаємо галочкою пункт "Run IntelliJ Idea Community Edition" і натискаємо кнопку "Finish".
  На цьому, власне, установка "IntelliJ Idea" завершена, далі буде йти первинна настройка  встановленої програми.

7. Вибирайте опцію "I do not have a previous version of IntelliJ Idea or I do not want to import my settings" ( "У мене немає попередньої версії  IntelliJ Idea або Я не хочу імпортувати мої налаштування ") і натискайте кнопку" ОК ".

8. У цьому віконці вам потрібно погодитися з ліцензійною угодою. Натискаємо кнопку "Accept".

9. На цьому кроці ми вибираємо зовнішнє оформлення системи програмування. Залишайте обрану опцію "IntelliJ" і натискайте кнопку "Next: Default plugins".
  Примітка: В подальшому, при бажанні, зовнішній вигляд можна буде поміняти.

10. На цьому кроці ми можемо відключити якісь з існуючих інструментів для прискорення роботи "IntelliJ Idea". Однак, ми цього робити не будемо і залишимо все як є.
  Натискаємо кнопку "Next: Featured Plugins".

11. У цьому вікні ми можемо доустановити деякі інструменти (доповнення). Для нашого курсу нічого доустанавливать не потрібно.
  Примітка. Ви можете встановити додаток "Scala", так як вона є мовою похідним від Java і зараз активно розвивається. Хто знає, можливо в подальшому ви вирішите вивчити і його теж. Для інсталяції цього доповнення натисніть кнопку "Install" під відповідною назвою і дочекайтеся завершення установки.
  Для переходу на наступний крок натисніть кнопку "Start Using IntelliJ Idea".

12 Тепер деякий час чекаємо поки "IntelliJ Idea" не запуститься.

Після чого наше середовище розробки готова до використання!

Частина 2. Основні поняття і оператори Java.

Глава 2.1. Урок 1. Структура програм на Java. Приклад програми на Java.

  На поточний момент часу існує безліч мов програмування. Грубо їх можна розбити на чотири функціональні групи: процедурні, об'єктно-орієнтовані, функціональні і логічні. Java - об'єктно-орієнтована мова. Належність до групи об'єктно-орієнтованих мов зазвичай означає, що в мові досить багато використовуються класи і об'єкти. Однак, на Java всі програми не просто ісспользуют об'єкти, а являють собою певні структури з класів і об'єктів.

Що таке об'єкт і що таке клас?
  Давайте розберемо ці поняття на якомусь прикладі з життя. Якщо провести аналогію з реальністю, то об'єктом в нашому оточенні буде якийсь існуючий предмет або явище, а класом - його докладний опис.
Візьмемо, наприклад, кулькову ручку з кнопкою нагорі. Ми знаємо, що вона призначена для письма, тобто знаємо, що вона вміє робити. Представляємо зовнішній вигляд такий ручки. Знаємо які у неї можуть бути характеристики (колір пасти, діаметр стрижня, довжина і діаметр самої ручки, і т. П.). Таким чином ми можемо скласти приблизний опис будь кулькової ручки. Це приблизний опис і буде класом. Якщо ж ми візьмемо будь-яку конкретну ручку, з заданими значеннями її характеристик (наприклад ручку з червоною пастою, діаметром стрижня 0.5 мм, довжиною 17 см і діаметром самої ручки 8 мм) в цьому випадку ми будемо говорити про реальний об'єкт.
  Іншим прикладом об'єкта і класу може бути ящик, в якому лежить ручка. Ми знаємо, що він прямокутний (тобто має висоту, довжину і ширину), висувається з стола і може містити в собі якісь інші об'єкти. Дане знання по суті є коротким описом ящика або класом. Якщо ми візьмемо реальний ящик з довжиною 50 см, шириною - 40 см і заввишки-15 см, то це вже буде об'єкт.
  Продовжимо нашу аналогію. Зазначений ящик знаходиться в певному столі, стіл в певній кімнаті, певна кімната в будинку. Природно в даному випадку і стіл, і кімната, і будинок будуть об'єктами, а їх загальні описи - класами. Крім цього, ручку може взяти людина і щось нею записати. Людини теж можна порахувати за деякий об'єкт, який використовував інший об'єкт - ручку, для виконання якоїсь дії. Таким чином об'єкти можуть використовувати один одного або, якщо узагальнити, вони можуть взаємодіяти.
Таким чином, весь наш світ можна представити у вигляді якихось об'єктів. Кожен об'єкт буде мати своє приблизне видове опис (клас), без зазначення точних характеристик (властивостей). Наприклад, всі люди будуть відноситься до класу (опису) "людина" з набором властивостей таких як: раса, стать, відбитки пальців, ДНК, колір волосся, колір очей, форма носа і т.п. Поки ми говоримо не про певну людину - всі ці властивості не задані і нам відомо тільки те, що вони є. Однак, якщо ми бужем мати на увазі конкретну людину (наприклад про європейського чоловіка з темним волоссям, блакитними очима, грецької форма носа і якого звуть Толік), то всі ці властивості для нього відомі і задані. В цьому випадку, конкретна людина вже є об'єктом. Точно також існує клас "кішка". Ми знаємо, що у будь-якої кішки є якийсь забарвлення, вага, ім'я та ін. Властивості. Але тільки коли ми говоримо про конкретну кішці (наприклад рудої кішечці Соні вагою 2 кг) ми говоримо про конкретний об'єкт. Людина Толик погладив кішку Соню. У цьому випадку два об'єкти взаємодіють один з одним: Толік гладить, Соня мурчит.
  Таким чином в нашому світі все об'єкти можуть якось взаємодіяти один з одним.

Тепер спробуємо перенести цю модель життя на Java. Власне програма на Java - це здебільшого класи і їх об'єкти, пов'язані в певну структуру. Кожен клас описує:
  1) свій "вид" об'єктів
  2) зв'язку своїх об'єктів з іншими об'єктами,
  3) дії, що виконуються об'єктами даного класу, і дії-вказівки як взаємодіяти з іншими об'єктами (методи класу).

Примітка. Java-програмісти властивості (або характеристики) класів і об'єктів називають полями.

Приклад програми на Java
  Давайте створимо свою першу програму в системі програмування IntelliJ Idea і трохи познайомимося із загальною структурою класів для будь-якої Java-програми.

Для початку запустіть "IntelliJ Idea". У вікні, натисніть на рядок з текстом "Create New Project" ( "Створити Новий Проект"). Проект в Java - це набір класів для виконання якихось певних дій і завдань. Якщо по простому, то проект - це і є програма, яку ми будемо надалі компілювати і запускати.

У наступному вікні (яке називається "New Project") перейдіть в розділ "Java". Далі ми повинні для властивості "Project SDK" вказати встановлену раніше JDK, яку будемо використовувати для написання нашої програми. При створенні першого проекту в списку значень для цього властивості нічого немає. У цьому випадку нам необхідно вказати IntelliJ Idea розташування JDK, звідки він буде брати потрібні йому файли. Для додавання JDK тиснемо кнопочку "New" навпроти властивості "Project SDK" і вибираємо в списку пункт "JDK".

У вікні, виділяємо папку з потрібною нам JDK і натискаємо кнопку "OK". За замовчуванням в цьому вікні відразу відкривається та папка, яка вказана в створеній нами системної змінної оточення "JAVA_HOME".

Після додавання JDK, вона з'являється в списку значень властивості "Project SDK". Тільки що додана JDK буде обрана за замовчуванням.

Примітка: Для того щоб програма використовувала іншу версію JDK, потрібно знову натиснути кнопку "NEW", вибрати пункт "JDK" і вибрати папку, де встановлена ​​JDK потрібної версії.
  Щоб перейти до наступного етапу створення програми натисніть кнопку "Next".

У наступному вікні відзначте пункт "Create project from template" ( "Створити проект по шаблону") і виберіть значення "Command Line App" ( "Додаток для командного рядка").
  Зараз ми створюємо просте стандартний додаток, Яке весь введення і виведення даних буде робити в " командному рядку"(Що це таке і як з ним працювати ми дізнаємося трохи пізніше).
  Далі натискаємо кнопку "Next".

У наступному вікні ми повинні заповнити три поля:
"Project name" ( "Ім'я проекту"),
  "Project Location" ( "Розташування проекту")
  "Base Package" ( "Основний пакет")
.

Перше поле називається "Project name" ( "Ім'я проекту"). Тут ми повинні вказати назву проекту.
  Назва повинна містити лише латинські літери. Може містити цифри і нижній знак підкреслення. Наприклад, в нашому випадку ми назвемо проект "HelloProject".

Друге поле - "Project Location" ( "Розташування проекту") містить шлях до папки, де будуть збережуться файли нашого проекту. За замовчуванням це нова папка, яка називається так само як проект і знаходиться в ваших особистих файлах на системному диску. Природно ім'я папки можна змінити. Але не обов'язково. Важливо інше. Бажано на системному диску нічого не зберігати. Тому рекомендую створити особливу папку на якомусь іншому диску і вже в ній зберігати всі папки ваших проектів. Для того щоб вказати інше місце зберігання файлів проекту натисніть кнопку "..." навпроти поля "Project Location". У вікні, виберіть правильне місце для вашого проекту і натисніть кнопку "ОК".
  Після цього ваше значення властивості "Project Location" має виглядати якось так:
  D: \\ JavaLearnProjects \\ HelloProject
  де
  "D: \\ JavaLearnProjects \\" - шлях до спільної папки, в якій будуть знаходиться папки ваших проектів (він у вас може бути іншим),
  а "HelloProject" - це папка поточного створюваного проекту.

Тепер розберемося з останнім полем - "Base Package" ( "Основний пакет").
  Почнемо з того, що всі класи знаходяться всередині так званих пакетів. Кожен пакет - це набір класів об'єднаних якимось загальним змістом. Фактично основне призначення пакета - навести в існуючих класах порядок. Наприклад, в пакет "тварини" (англ. "Animals"), будуть входити класи (опису) різних тварин. Щоб розбити всі безліч тварин на дві половини, пакет "тварини" в свою чергу містить ще два пакети: "травоїдні" (англ. "Herbivorous") і "м'ясоїдні" (англ. "Carnivorous"). Для зручності будемо називати їх підпакету. Повними назвами підпакетів будуть наступні найменування: "жівотние.травоядние" (англ. "Animals.herbivorous") і "жівотние.плотоядние" (англ. "Animals.carnivorous"). Природно розбиття на підпакети можна продовжити і далі. Наприклад, розбити підпакету "м'ясоїдні" на "мешкають у воді" і "мешкають на суші" тварин. І т.д. Повне ім'я кожного нового підпакету включатиме його коротку назву і все імена включають його пакетів, розділені крапками.

Примітка. Пакети, як і класи, повинні бути обов'язково проіменновани латинськими літерами.
Для невеликих програм досить часто все класи знаходяться в одному пакеті. Однак ім'я цього пакета складається з декількох слів між якими ставлять крапку, але як такого розгалуження на безліч підпакетів немає. В цьому випадку виникає закономірне питання: "навіщо нам така довга назва і вкладеність пакетів один в інший зразок матрьошок"? Зазвичай це робиться для того, щоб був краще зрозумілий сенс класів, укладених в зазначеному пакеті.
  Наприклад, в нашому випадку буде зручно називати пакети до завдань з наших уроків так, щоб легко можна було зорієнтуватися до якого уроку і яке завдання виконує програма. Відповідно, для нашої першої програми введемо наступну назву пакета:
  "Javalearn.lessons.one.classtasks.hellotask"
  Зверніть увагу на слова, розділені крапками. Ними ми фактично характеризуємо програму, яку будемо зараз писати.
  "Javalearn" - вивчення java
  "Lessons" - уроки (як підтема для "javalearn")
  "One" - один (як підтема для "lessons")
  "Classtasks" - класні завдання (як підтема для "one")
  "Hellotask" - вітальне завдання (як підтема для "classtasks)

Як ми вже і говорили в проекті може знаходиться безліч різних пакетів. Один з них вибирається як основний і саме його ім'я потрібно вказати в третьому полі. Природно, якщо пакет тільки один, то він і буде основним.
  У нашій програмі пакет тільки один - "javalearn.lessons.one.classtasks.hellotask", отже він і буде основним.