Основи мови програмування Java

Java - це мова програмування, розроблена Sun Microsystems в 1995 р., Яку згодом придбала Oracle. Зараз це повна платформа з великою кількістю стандартних API, API з відкритим кодом, інструментами, величезною спільнотою розробників і використовується для створення найбільш надійних корпоративних рішень як великими, так і малими компаніями. Розробка додатків для Android здійснюється повністю за допомогою Java та її екосистеми. Щоб дізнатись більше про Java, прочитайте це і це.

Версія

Останньою версією є Java 11, яка була випущена в 2018 році з різними вдосконаленнями порівняно з попередньою версією, Java 10. Але для всіх намірів і цілей ми будемо використовувати Java 8 у цій вікі для всіх навчальних посібників.

Java також поділяється на декілька “видань”:

  • SE - Standard Edition - для настільних та автономних серверних додатків
  • EE - Enterprise Edition - для розробки та виконання компонентів Java, що працюють вбудованими в сервер Java
  • ME - Micro Edition - для розробки та запуску програм Java на мобільних телефонах та вбудованих пристроях

Встановлення: JDK або JRE?

Завантажте найновіші двійкові файли Java з офіційного веб-сайту. Тут у вас може виникнути запитання, який із них завантажити, JDK чи JRE? JRE розшифровується як Java Runtime Environment, яке залежить від платформи Java Virtual Machine для запуску кодів Java, а JDK розшифровується як Java Development Kit, який складається з більшості інструментів розробки, найголовніше компілятора javac, а також JRE. Отже, для пересічного користувача JRE було б достатньо, але оскільки ми будемо розвиватися з Java, ми завантажимо JDK.

Інструкції щодо встановлення на платформі

Windows

  • Завантажте відповідний файл .msi (x86 / i586 для 32 біт, x64 для 64 біт)
  • Запустіть файл .msi. Це саморозпаковується виконуваний файл, який встановить Java у вашій системі!

Linux

  • Завантажте відповідний файл tar.gz для вашої системи та встановіть:

bash $ tar zxvf jdk-8uversion-linux-x64.tar.gz

  • Платформи Linux на основі RPM завантажують відповідний файл .rpm та встановлюють:

bash $ rpm -ivh jdk-8uversion-linux-x64.rpm

  • Користувачі мають можливість встановити відкриту версію Java, OpenJDK або Oracle JDK. Поки OpenJDK знаходиться в активній розробці та синхронізується з Oracle JDK, вони просто відрізняються між собою питаннями ліцензування. Однак небагато розробників скаржаться на стабільність Open JDK. Інструкції для Ubuntu :

Відкрита установка JDK:

bash sudo apt-get install openjdk-8-jdk

Встановлення Oracle JDK:

bash sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer

Мак

  • Або завантажте виконуваний файл Mac OSX .dmg із Oracle Downloads
  • Або використовуйте Homebrew для встановлення:
brew tap caskroom/cask brew install brew-cask brew cask install java

Перевірте встановлення

Переконайтеся, що Java правильно встановлена ​​у вашій системі, відкривши командний рядок (Windows) / Windows Powershell / Terminal (Mac OS та * Unix) та перевіривши версії середовища виконання та компілятора Java:

$ java -version java version "1.8.0_66" Java(TM) SE Runtime Environment (build 1.8.0_66-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode) $ javac -version javac 1.8.0_66

Рада : Якщо ви отримуєтепро помилкутаких як «команда не знайдена» на будь-якийjavaабоjavacабо обидва, не панікуйте, його просто ваша система PATH неправильно встановлена. Для Windows див. Цю відповідь StackOverflow або цю статтю про те, як це зробити. Також є посібники для Ubuntu та Mac. Якщо ви все ще не можете це зрозуміти, не хвилюйтеся, просто запитайте нас у нашій кімнаті Гіттера!

JVM

Гаразд, оскільки ми закінчили з установками, давайте почнемо спочатку розуміти дрібницю в екосистемі Java. Java - це інтерпретована та компільована мова, тобто код, який ми пишемо, компілюється в байт-код і інтерпретується для запуску. Ми пишемо код у файлах .java, Java компілює їх у байт-коди, які запускаються на віртуальній машині Java або JVM для виконання. Ці байт-коди зазвичай мають розширення .class.

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

Крім того, після компіляції вашого байт-коду він може працювати на будь-якій віртуальній машині Java. Ця віртуальна машина залежить від машини, тобто має різні варіанти реалізації для Windows, Linux та Mac. Але завдяки цій ВМ ваша програма гарантовано працює в будь-якій системі. Ця філософія називається «Пиши один раз, біжи куди завгодно».

Привіт Світ!

Давайте напишемо зразок програми Hello World. Відкрийте будь-який вибраний редактор / IDE та створіть файл HelloWorld.java.

public class HelloWorld { public static void main(String[] args) { // Prints "Hello, World" to the terminal window. System.out.println("Hello, World"); } }

Примітка. Майте на увазі, що для компіляціїім'я файлу Java має мати абсолютно однакову назву публічного класу !

Тепер відкрийте термінал / командний рядок. Змініть поточний каталог у терміналі / командному рядку на каталог, де знаходиться ваш файл. І скомпілюйте файл:

$ javac HelloWorld.java

Тепер запустіть файл за допомогою javaкоманди!

$ java HelloWorld Hello, World

Congrats! Your first Java program has run successfully. Here we are just printing a string passing it to the API System.out.println. We will cover all the concepts in the code, but you are welcome to take a closer look! If you have any doubt or need additional help, feel free to contact us anytime in our Gitter Chatroom!

Documentation

Java is heavily documented, as it supports huge amounts of API’s. If you are using any major IDE such as Eclipse or IntelliJ IDEA, you would find the Java Documentation included within.

Also, here is a list of free IDEs for Java coding:

  • NetBeans
  • Eclipse
  • IntelliJ IDEA
  • Android Studio
  • BlueJ
  • jEdit
  • Oracle JDeveloper