Java - ЯП від компанії Sun microsystems.Спочатку розроблявся як мова для програмування електронних пристроїв, але пізніше став використовуватися для створення програмного забезпечення серверного програмного забезпечення. Програми на Java - Кросплатформені, тобто здатні працювати на будь-яких операційних системах.
Java як мову з підтримкою об'єктного орієнтування відповідає основним принципам ООП:
У центрі «Джава», як і в інших ООЯ, - об'єкт іклас з конструкторами і властивостями. Починати вивчення мови програмування Java краще не з офіційних ресурсів, а з посібників для новачків. У таких манула докладно описуються можливості, надаються приклади коду. У книгах на кшталт "Мова програмування Java для початківців" роз'яснюються основні принципи і особливості названого мови.
Код на языке программирования Java транслируется в байт-код, потім виконується на віртуальній машині JVM. Перетворення в байт-код здійснюється на Javac, Jikes, Espresso, GCJ. Існують такі компілятори, які транслюють мову «Сі» в Java байт-код. Таким чином, додаток на «Сі» може працювати на будь-яких платформах.
Синтаксис «Джава» характеризується наступним:
Мова програмування Java має 8 примітивних типів. Вони представлені нижче.
Важливу роль в книзі «Вивчення мови програмування Java для початківців» займають класи і об'єкти.
Клас визначає шаблон для об'єкта, у ньогообов'язково є атрибути і методи. Для його створення застосовують ключове слово Class. Якщо він створюється в окремому файлі, то ім'я класу і файлу повинні бути однаковими. Сама ж назва складається з двох частин: імені та розширення .Java.
У «Джава» можна створювати підклас, який буде наслідувати методи батьківського. Для цього використовується слово extends:
Конструктор є складовим будь-якого класу, навіть якщо це не задано явно. В такому випадку компілятор його створює самостійно:
Ім'я конструктора збігається з ім'ям класу, за замовчуванням у нього є всього один параметр:
Object створюється з класу за допомогою оператора new ():
Він отримує всі методи і властивості класу, за допомогою яких взаємодіє з іншими об'єктами. Один об'єкт можна використовувати кілька разів під різними змінними.
class Point {
int x, y;
}
Point р = new Point ()
class TwoPoints {
public static void main (String args []) {
Point p1 = new Point ();
Point p2 = new Point ();
p1.x = 10;
p1.y = 20;
р2.х = 42;
р2.у = 99;
}}
Об'єктні змінні і об'єкти - абсолютнорізні сутності. Object variables є посиланнями. Вони можуть вказувати на будь-які змінні непрімітівного типу. На відміну від C ++ їх типове перетворення жорстко регламентовано.
Поля - це все змінні, пов'язані з класом або об'єктом. За умовчанням вони є локальними і не можуть використовувати в інших класах. Для доступу до полів використовується оператор «.»:
Можна задати статичні поля за допомогою ключового слова static. Такі поля є єдиним способом зберігати глобальні змінні. Це пов'язано з тим, що в «Джава» просто немає global variables.
Реалізована можливість імпорту змінних для отримання доступу з інших пакетів:
Метод - підпрограма для тих класів, в яких оголошено. Описується на тому ж рівні, що і змінні. Здається в вигляді функції і може мати будь-який тип, в тому числі void:
class Point {int х, у;
void init (int a, int b) {
х = а;
У = b;
}}
В наведеному вище прикладі клас Point має поля типу integer x і y, метод init (). Доступ до методів, як і до змінних, здійснюється шляхом використання оператора «.»:
Властивість init нічого не повертає, тому має тип void.
У самовчителі мови програмування Javaокреме місце займають змінні. У всіх змінних є конкретний тип, він визначає необхідну місце для зберігання значень, діапазон можливих значень, список операцій. Перш ніж маніпулювати значеннями, змінні оголошуються.
Одночасно може бути оголошено кілька змінних. Для їх перерахування використовується кома:
Ініціалізації здійснюється після або під час оголошення:
int a = 10, b = 10;
Існує кілька типів:
Local variables оголошують в методах іконструкторах, вони створюються під час запуску останніх і знищуються після завершення. Для них заборонено вказувати access modifiers і управляти рівнем доступності. Вони не видимі за межами оголошеного блоку. В Java змінні не мають початкового значення, тому воно в обов'язковому порядку присвоюється перед першим використанням.
Instance variables повинні бути оголошені всерединікласу. Вони використовуються як методи, але отримати до них доступ можна тільки після створення об'єкта. Мінлива руйнується, коли знищується об'єкт. У екземплярність змінних, на відміну від локальних, існують значення за замовчуванням:
Static variables називаються змінними класу.Їх імена починаються з символу у верхньому регістрі, конкретизуються модифікатором static. Вони використовуються як константи, відповідно, до них додається один специфікатор зі списку:
Запускаються на початку програми, знищуютьсяпісля зупинки виконання. Так само, як змінні екземпляра, мають стандартні значення, які привласнюються порожнім змінним. У чисел - значення 0, булеві змінні мають значення false, посилання на об'єкт спочатку мають null. Статичні змінні викликаються в наступному вигляді:
У самовчителі "Мова програмування Java для новачків" розділ автоматичного збирача сміття є найбільш цікавим.
В Java, на відміну від мови "Сі", неможливоручне видалення об'єкта з пам'яті. Для цього реалізований метод автоматичного видалення - збирач сміття. При традиційному видаленні через null відбувається лише усунення посилання на об'єкт, а сам об'єкт видаляється. Існують методи примусової збірки сміття, хоча вони не рекомендовані для використання у звичайній роботі.
Модуль автоматичного видалення невикористовуванихоб'єктів працює у фоновому режимі, запускається при неактивності програми. Для очищення об'єктів з пам'яті програма зупиняється, після звільнення пам'яті прерваним операція поновлюється.
Розрізняють різні типи модифікаторів.Крім тих, які визначають спосіб доступу, існує модифікатори методів, змінних, класу. Методи, оголошені як private, доступні тільки в оголошеному класі. Такі змінні не можуть використовуватися в інших класах і функціях. Public відкриває доступ для будь-якого класу. Якщо потрібно отримати Public class з іншого пакета, то його слід попередньо імпортувати.
Модифікатор protected схожий по дію на public- відкриває доступ до полів класу. В обох випадках змінні можуть використовуватися в інших класах. Але паблік-модифікатор доступний абсолютно для всіх, а протектед-модифікатор - тільки для успадкованих класів.
Модифікатор, який застосовується при створенніметодів, - static. Це означає, що створений метод існує незалежно від примірників класу. Модифікатор Final не керує доступом, а вказує на неможливість подальшого маніпулювання значеннями об'єкта. Він забороняє зміну того елемента, для якого вказано.
Final для полів унеможливлює зміну першого значення змінної:
public static void mthod (String [] args) {
final int Name = 1;
int Name = 2; // видасть помилку
}
Змінні з модифікатором final є константами. Їх прийнято писати тільки великими літерами. CamelStyle і інші способи не працюють.
Final для методів вказує заборона на зміну методу в успадковане класі:
final void myMethod () {
System.out.printIn ( "Hello world");
}
Final для класів означає, що не можна створити спадкоємців класу:
final public class Class {
}
Abstract - модифікатор створення абстрактних класів. Будь-яка абстрактна клас і абстрактні методи призначені для подальшого розширення в інших класах і блоках. модифікатор transient вказує віртуальній машині не обробляти задану змінну. У цьому випадку та просто не збережеться. Наприклад, transient int Name = 100 не збережеться, а int b збережеться.
Існуючі сімейства мови програмування Java:
програми на мові програмування Java, як правило,повільніші і займають більше оперативної пам'яті. Порівняльний аналіз мов Java і «Сі» показав, що «Сі» трохи продуктивніше. Після численних змін і оптимізації віртуальної машини Java поліпшив свої показники.
Активно використовується для створення мобільнихдодатків під Android. Програма компілюється в нестандартний байт-код, виконується на віртуальній машині ART. Для компіляції застосовується Android Studio. Це IDE від компанії «Гугл» є офіційною для розробки під ОС Android.
Microsoft розробила власну реалізаціювіртуальної машини Java MSJVM. Вона мала такі відмінності, які ламали основну концепцію платформ - була відсутня підтримка деяких технологій і методів, були нестандартні розширення, що працюють тільки на платформі Windows. Microsoft випустив мова J #, синтаксис і робота в цілому якого дуже нагадує Java. Він не відповідав офіційній специфікації і в підсумку був виключений зі стандартного інструментарію розробника Microsoft Visual Studio.
Розробка програмного забезпечення здійснюється в таких IDE:
JDK поширюється компанією Oracle яккомплект розробника на мові Java. Включає компілятор, стандартні бібліотеки, утиліти, виконавчу систему. Сучасні інтегровані середовища розробки спираються саме JDK.
Зручно писати код на мові програмування Javaв середовищі Netbeans і Eclipse IDE. Це вільні інтегровані середовища для розробки, вони підходять під всі платформи «Джава». Також використовуються для програмування на Python, PHP, JavaScript, C ++.
IntelliJ IDE від компанії Jetbrainsпоширюється в двох варіантах: безкоштовний і комерційному. Підтримує написання коду на багатьох мовах програмування, існують сторонні плагіни від розробників, в яких реалізовано ще більшу кількість ЯП.
JDeveloper - ще одна розробка від компанії Oracle. Повністю написана на Java, тому працює на всіх операційних системах.