Java — це об’єктно-орієнтована мова програмування на основі класів. Мова розроблена таким чином, щоб мати якомога менше реалізацій залежностей. Намір використання цієї мови полягає в тому, щоб полегшити розробникам написання кодів для кожної платформи. З цією мовою часто асоціюється термін WORA, write one and run everywhere. Це означає, що кожного разу, коли ми компілюємо код Java, ми отримуємо байт-код (файл .class), який можна виконати (без повторної компіляції) на різних платформах, якщо вони підтримують Java. У 1995 році була розроблена мова Java. В основному він використовується для розробки веб-пристроїв, комп’ютерів і мобільних пристроїв. Мова Java відома своєю надійністю, безпекою та простотою. Це розроблено так, щоб мати якомога менше залежностей реалізації.
історія
Мова Java має дуже цікаву історію. Патрік Нотон, Майк Шерідан і Джейм Гослінг, відомі як команда Зелених, розпочали розробку Java у 1991 році. Ці люди були інженерами в Sun Microsystems . У 1996 році перша публічна реалізація була випущена як Java 1.0. Компілятор Java 1.0 був переписаний Артуром Ван Хоффом для суворої відповідності його специфікаціям. З появою Java 2 нові версії мають кілька різних конфігурацій, створених для різних платформ. Варто відзначити, що Джеймс Гослінг також відомий як батько Яви.
У 1997 році компанія Sun Microsystems звернулася до органу стандарту ISO для формалізації Java, але незабаром цей процес було скасовано. Свого часу компанія Sun Microsystems надала більшу частину своєї реалізації Java безкоштовно, незважаючи на те, що вона мала статус пропрієтарного програмного забезпечення.
Прикладні програми
Реалізація прикладної програми в додатку Java включає наступні кроки.
- Створення програми (написання коду)
- Компіляція програми.
- Виконання скомпільованого коду.
Тут варто зазначити, що JDK (Java Development Kit) має бути належним чином встановлено в системі, а також має бути встановлено шлях.
Програма Створення
Програму Java можна написати за допомогою текстового редактора (Notepad++ або NotePad або інші редактори також виконають цю роботу.) або IDE (Eclipse, NetBeans тощо).
Ім'я файлу: TestClass.java
public class TestClass { // main method public static void main(String []args) { // print statement System.out.println('Hello World is my first Java Program.'); } }
Напишіть наведений вище код і збережіть файл під назвою TestClass. Файл повинен мати .java розширення.
таблиця істинності повного суматора
Програма Компіляція
Відкрийте командний рядок і введіть javac TestClass.java . javac це команда, яка змушує компілятор Java почати роботу для компіляції програми Java. Після команди ми повинні поставити ім'я файлу, який потрібно скомпілювати. У нашому випадку так і є TestClass.java . Після введення натисніть кнопку введення. Якщо все йде добре, буде згенеровано файл TestClass.class, який містить байт-код. Якщо в програмі є якась помилка, компілятор вкаже на це, і TestClass.class не буде створено.
Запуск / Виконання програми
Після створення файлу .class введіть java TestClass щоб запустити програму. Вихід програми буде показано на консолі, яка згадана нижче.
Вихід:
Hello World is my first Java Program.
Ім'я Java
Спочатку назву дуб дали за мову. Однак команда вирішила, що мові слід дати нову назву, і були запропоновані такі слова, як ДНК, революційний, поштовх, динамічний, шовк тощо. Усі ці імена було весело вимовляти та легко вимовляти. Але чого не вистачало, так це сутності мови в запропонованих назвах, яку команда хотіла мати. За словами Джеймса Гослінга, Java і Silk були двома найпопулярнішими варіантами, і оскільки Java мала унікальну назву, більшість людей віддали перевагу саме їй.
Ява також є назвою острова в Індонезії, де виробляли каву (під назвою Java Coffee). Ім'я Ява вибрав Джеймс Гослінг, тому що він пив каву біля свого офісу. Читачі повинні звернути увагу, що Java не є акронімом. Це просто назва.
Термінології в Java
JVM (Віртуальна машина Java): JVM — це специфікація, яка полегшує середовище виконання, у якому відбувається виконання байт-коду Java. Щоразу, коли хтось використовує команду java, створюється екземпляр JVM . JVM полегшує визначення області пам'яті, набору регістрів, формату файлу класу та звітування про фатальні помилки. Зауважте, що JVM залежить від платформи.
Байт-код: У вступній частині вже було сказано, що компілятор Java компілює код Java для створення файлу .class або байт-коду. Потрібно використовувати javac команда для виклику компілятора Java.
Java Development Kit (JDK): Це повний набір Java Development Kit, який містить усе, включаючи JRE (Java Runtime Environment), компілятор, документи Java, налагоджувачі тощо. Для створення, компіляції та виконання програми Java на комп’ютері має бути встановлено JDK.
Java Runtime Environment (JRE): JRE є частиною JDK. Якщо в системі встановлено лише JRE, користувач може лише запускати програму. Іншими словами, тільки java команда працює. Компіляція програми Java буде неможливою (the javac команда не працюватиме).
Збирач сміття: Програмісти не вміють видаляти об'єкти в Java. Для цього JVM має програму, відому як Garbage Collector. Збирачі сміття відновлюють або видаляють об’єкти, на які не посилаються. Garbage Collector полегшує життя розробника/програміста, оскільки їм не потрібно турбуватися про керування пам’яттю.
Шлях до класу: Як випливає з назви, classpath — це шлях, де компілятор Java і середовище виконання Java шукають файл .class для завантаження. JDK надає багато вбудованих бібліотек. Однак, якщо хтось хоче використовувати зовнішні бібліотеки, його слід додати до шляху до класів.
Основні особливості Java
Незалежно від платформи: Замість того, щоб безпосередньо генерувати файл .exe, компілятор Java перетворює код Java на байт-код, і цей байт-код можна без проблем виконувати на різних платформах, що робить Java незалежною від платформи мовою. Зауважте, що для виконання байт-коду JVM має бути встановлено в системі, яка залежить від платформи.
Об'єктно-орієнтована мова програмування: Концепція об'єктно-орієнтованого програмування базується на концепції об'єктів і класів. Крім того, є кілька якостей, які присутні в об'єктно-орієнтованому програмуванні. Деякі з них згадуються нижче.
- Абстракція
- Спадщина
- Поліморфізм
- Інкапсуляція
Мова Java також широко використовує поняття класів і об'єктів. Крім того, усі ці функції, згадані вище, присутні в Java, що робить Java об’єктно-орієнтованою мовою програмування. Зауважте, що Java є об’єктно-орієнтованою мовою програмування, але не на 100% об’єктно-орієнтованою.
Простий: Java вважається простою мовою, оскільки вона не має концепції покажчиків, множинного успадкування, явного розподілу пам’яті або перевантаження операторів.
Міцний:
Мова Java дуже надійна. Значення міцного означає надійний. Мова Java розроблена таким чином, що перевірка багатьох помилок виконується якомога раніше. Саме з цієї причини ця мова може ідентифікувати ті помилки, які важко визначити в інших мовах програмування. Обробка винятків, збирання сміття та розподіл пам’яті – це функції, які роблять Java надійною.
Безпечний: Існує кілька помилок, як-от переповнення буфера або пошкодження стека, які неможливо використати в мові Java. Ми знаємо, що мова Java не має покажчиків. Таким чином, неможливо отримати доступ до масивів поза межами. Якщо хтось намагається це зробити, виникає виняток ArrayIndexOutofBound. Крім того, виконання програм Java відбувається в середовищі, яке повністю не залежить від операційної системи, що робить цю мову ще більш безпечною.
Розповсюджується: Розподілені програми можна створювати за допомогою мови Java. Для створення розподілених додатків використовуються корпоративні компоненти Java і Remote Method Invocation. Розповсюдження програм Java може відбуватися легко між однією чи декількома системами, які підключені одна до одної через Інтернет.
Багатопотоковість: Мова Java підтримує багатопотоковість. Функція багатопоточності підтримує виконання двох або більше частин програми одночасно. Таким чином, використання ЦП максимально.
Портативність: Ми знаємо, що Java є незалежною від платформи мовою. Таким чином, байт-код, згенерований в одній системі, може бути використаний на будь-якій іншій платформі для виконання, що робить Java портативною.
Продуктивність високого рівня: Архітектура Java створена таким чином, що вона зменшує витрати часу виконання. У деяких місцях Java використовує компілятор JIT (Just In Time), коли код компілюється на вимогу, коли компілятор компілює лише ті методи, які викликаються, і таким чином пришвидшує виконання програм.
Динамічна гнучкість: Мова Java слідує парадигмі об’єктно-орієнтованого програмування, яка дає нам свободу додавати нові методи та класи до існуючих класів. Мова Java також підтримує функції, згадані в мовах C/C++ і які зазвичай називаються рідними методами.
Виконання SandBox: Відомий факт, що програми Java виконуються в іншому середовищі, що дає користувачам свободу виконувати власні програми, не впливаючи на базову систему за допомогою верифікатора байт-коду. Верифікатор байт-коду також забезпечує додатковий захист, оскільки він перевіряє код на порушення доступу.
Write Once Run Anywhere: Код Java компілюється компілятором, щоб отримати файл .class або байт-код, який повністю не залежить від будь-якої архітектури машини.
Компільована та інтерпретована мова: Більшість мов є або інтерпретованою мовою, або скомпільованою мовою. Однак у випадку мови Java вона компілюється так само, як і інтерпретована мова. Код Java компілюється для отримання байт-коду, а байт-код інтерпретується програмним інтерпретатором.
Кілька програм на Java
Нижче наведено декілька основних програм Java.
Програма - 1
Ім'я файлу: DemoClass.java
// Importing different classes import java.io.*; // Main class public class DemoClass { // main method public static void main(String argvs[]) { System.out.println('Welcome to javaTpoint.'); } }
Вихід:
Welcome to javaTpoint.
Програма - 2
пара java
Ім'я файлу: AddMul.java
// Computing the sum and product of the two numbers public class AddMul { // main method public static void main(String argvs[]) { int a1; int a2; int add = 0; int prod = 0; a1 = 12; a2 = 14; add = a1 + a2; // addition prod = a1 * a2; // multiplication System.out.println('Sum = ' + add); System.out.println('Product = ' + prod); } }
Вихід:
Sum = 26 Product = 168
Програма - 3
Ім'я файлу: ComputeAv.java
// A Java program to allow the user to input two numbers from the user and compute its average. import java.util.*; public class ComputeAv { // main method public static void main(String argvs[]) { double a1; double b1; double sum1 = 0; double avg1 = 0; Scanner scnr = new Scanner(System.in); System.out.println('Input the First Number: '); a1 = scnr.nextDouble(); System.out.println('Input the Second Number: '); b1 = scnr.nextDouble(); sum1 = a1 + b1; // computing the sum avg1 = sum1 / 2; // computing the average System.out.println('Average = ' + avg1); } }
Вихід:
як оновити java
Input the First Number: 4 Input the Second Number: 5 Average = 4.5
Програма - 4
Ім'я файлу: Фаренгейт за Цельсієм.java
// A Java program that converts Celsius to Fahrenheit using formula // Fahrenheit = ((Celsius / 5) x 9 ) + 32 // import statement for taking input import java.util.Scanner; public class FahrenheitCelsius { // main method public static void main(String argvs[]) { double cel, far; Scanner scnr = new Scanner(System.in); System.out.println('Input the temperature in Celsius: '); cel = scnr.nextDouble(); far = ((cel / 5.0) * 9.0) + 32; System.out.println('Temperature in Fahrenheit is: ' + far); } }
Вихід:
Input the temperature in Celsius: 15 Temperature in Fahrenheit is: 59.0
Програма - 5
Ім'я файлу: TriangleArea.java
// A Java program for computing the triangle's area using its three sides // using heron's formula. import java.util.Scanner; public class TriangleArea { // main method public static void main(String[] argvs) { int s1, s2, s3; double halfPeri, ar; Scanner scnr = new Scanner(System.in); System.out.print('Enter the value of triangle's three sides:'); // taking user inputs s1 = scnr.nextInt(); s2 = scnr.nextInt(); s3 = scnr.nextInt(); // computing half perimeter halfPeri = (s1 + s2 + s3) / 2; // computing area of the triangle ar = Math.sqrt(halfPeri * (halfPeri - s1) * (halfPeri - s2) * (halfPeri - s3)); System.err.println('Triangles Area: ' + ar); } }
Вихід:
Enter the value of triangle's three sides: 15 16 17 Triangles Area: 109.98181667894016
Опис різних ключових слів, які використовуються у вищевказаних програмах
//: Він використовується для розміщення коментарів у коді, щоб зробити його більш зрозумілим для читачів. Під час компіляції програми компілятор повністю ігнорує коментарі. Для багаторядкового коментаря ми використовуємо: /* … */
метод main(): Найважливіший метод програми, з якого починається виконання. Тому вся логіка повинна бути в основному методі. Якщо метод main() не містить логіки, тоді вона буде присутній в якомусь іншому методі, але цей метод має бути викликаний з методу main() прямо чи опосередковано.
клас: Ключове слово class використовується для оголошення класу в мові Java.
недійсний: це означає, що функція або метод нічого не повертатиме.
System.out.println(): Він використовується для друку операторів, шаблонів тощо на консолі.
Рядок argvs[]: Це аргумент командного рядка, який використовується для введення даних.
громадськість: Це ключове слово специфікатора доступу. Коли його застосовують до методу, цей метод видимий для всіх. Інші ключові слова специфікатора доступу: private, protected і default.
імпортувати java.io.*: Це означає, що всі класи присутні в пакеті java.io імпортується. Пакет java.io полегшує вихідні та вхідні потоки для запису та читання даних у файли. * означає все. Якщо потрібно імпортувати лише певний клас, замініть * на назву класу.
System.in: Це вхідний потік, який використовується для читання символів із пристрою введення, яким у нашому випадку зазвичай є клавіатура.
static void main(): Ключове слово static повідомляє, що до методу можна отримати доступ без створення екземпляра класу.
System.out: Оскільки System.in використовується для читання символів, System.out використовується для передачі результату програми на пристрій виведення, наприклад на екран комп’ютера.
double, int: Різні типи даних, int для цілих чисел, double для double. Інші типи даних: char, boolean, float тощо.
println(): Метод показує тексти на консолі. Метод друкує текст на екрані, а потім переходить до наступного рядка. Для наступного рядка використовується ln. Якщо ми не хочемо, щоб курсор переміщався на наступний рядок, скористайтеся методом print().