Java je objektovo orientovaný programovací jazyk založený na triedach. Jazyk je navrhnutý tak, aby mal čo najmenej implementácií závislostí. Zámerom použitia tohto jazyka je poskytnúť vývojárom úľavu od písania kódov pre každú platformu. S týmto jazykom sa často spája pojem WORA, raz napíš a všade utekaj. Znamená to, že vždy, keď kompilujeme kód Java, dostaneme bajtový kód (súbor .class), ktorý možno spustiť (bez opätovného kompilovania) na rôznych platformách za predpokladu, že podporujú Javu. V roku 1995 bol vyvinutý jazyk Java. Používa sa hlavne na vývoj webových, desktopových a mobilných zariadení. Jazyk Java je známy svojou robustnosťou, bezpečnosťou a jednoduchosťou. To je navrhnuté tak, aby malo čo najmenej implementačných závislostí.
História
Jazyk Java má veľmi zaujímavú históriu. Patrick Naughton, Mike Sheridan a Jame Gosling, známy ako zelený tím, začali s vývojom Javy v roku 1991. Títo ľudia boli inžiniermi Sun Microsystems . V roku 1996 bola vydaná prvá verejná implementácia ako Java 1.0. Kompilátor Java 1.0 bol prepísaný Arthurom Van Hoffom tak, aby prísne dodržiaval jeho špecifikáciu. So zavedením Java 2 majú nové verzie viacero rôznych konfigurácií, ktoré boli vytvorené pre rôzne platformy. Stojí za zmienku, že James Gosling je tiež známy ako otec Java.
Spoločnosť Sun Microsystems oslovila orgán normy ISO v roku 1997, aby formalizoval Java, ale tento proces bol čoskoro stiahnutý. V určitom okamihu spoločnosť Sun Microsystems poskytovala väčšinu svojej implementácie Java dostupnú bez akýchkoľvek nákladov, napriek tomu, že mala štatút proprietárneho softvéru.
Aplikačné programy
Implementácia aplikačného programu v aplikácii Java zahŕňa nasledujúce kroky.
- Vytvorenie programu (zápis kódu)
- Kompilácia programu.
- Spustenie skompilovaného kódu.
Tu je potrebné poznamenať, že v systéme by mal byť správne nainštalovaný JDK (Java Development Kit) a mala by byť nastavená aj cesta.
Program Tvorba
Java program môže byť napísaný pomocou textového editora (Notepad++ alebo NotePad alebo iné editory tiež urobia túto prácu.) alebo IDE (Eclipse, NetBeans atď.).
Názov súboru: 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.'); } }
Napíšte vyššie uvedený kód a uložte súbor s názvom TestClass. Súbor by mal mať príponu .java rozšírenie.
Kompilácia programu
Otvorte príkazový riadok a zadajte javac TestClass.java . javac je príkaz, ktorý prinúti kompilátor Java začať kompilovať program Java. Po príkaze musíme zadať názov súboru, ktorý je potrebné skompilovať. V našom prípade áno TestClass.java . Po zadaní stlačte tlačidlo enter. Ak všetko pôjde dobre, vygeneruje sa súbor TestClass.class, ktorý obsahuje bajtový kód. Ak je v programe nejaká chyba, kompilátor na ňu upozorní a TestClass.class nebudú vytvorené.
Spustenie / spustenie programu
Po vytvorení súboru .class zadajte java TestClass spustiť program. Výstup programu sa zobrazí na konzole, ktorá je uvedená nižšie.
Výkon:
Hello World is my first Java Program.
Názov Java
Spočiatku bol jazyk daný názvom dub. Tím sa však rozhodol, že jazyk by mal dostať nový názov a boli navrhnuté slová ako DNA, revolučný, Jolt, Dynamic, Silk atď. Všetky tieto mená bolo zábavné vysloviť a ľahko sa vysloviť. Čo však chýbalo, bola podstata jazyka v navrhovaných menách, ktoré tím chcel mať. Podľa Jamesa Goslinga boli Java a Silk dve z najpopulárnejších možností, a keďže Java mala jedinečné meno, väčšina ľudí mu dala prednosť.
Java je tiež názov ostrova v Indonézii, kde sa vyrábala káva (s názvom Java Coffee). Meno Java si vybral James Gosling, pretože si dal kávu neďaleko svojej kancelárie. Čitatelia by si mali uvedomiť, že Java nie je skratka. Je to len meno.
Terminológie v Jave
JVM (Java Virtual Machine): JVM je špecifikácia, ktorá uľahčuje runtime prostredie, v ktorom prebieha vykonávanie bajtového kódu Java. Kedykoľvek niekto použije príkaz java, vytvorí sa inštancia JVM . JVM uľahčuje definíciu oblasti pamäte, sady registrov, formátu súboru triedy a hlásenia závažných chýb. Všimnite si, že JVM je závislý od platformy.
Bajtový kód: V úvodnej časti už bolo povedané, že kompilátor Java skompiluje kód Java, aby vygeneroval súbor .class alebo bajtový kód. Človek musí použiť javac príkaz na vyvolanie kompilátora Java.
Java Development Kit (JDK): Je to kompletný Java Development Kit, ktorý zahŕňa všetko, vrátane JRE (Java Runtime Environment), kompilátora, dokumentov Java, debuggerov atď. Na vytvorenie, kompiláciu a spustenie programu Java musí byť na počítači nainštalovaný JDK.
Java Runtime Environment (JRE): JRE je súčasťou JDK. Ak má systém nainštalované iba JRE, používateľ môže spustiť iba program. Inými slovami, iba java príkaz funguje. Kompilácia programu Java nebude možná ( javac príkaz nebude fungovať).
Smetiar: Programátori nie sú schopní vymazať objekty v Jave. Na tento účel má JVM program známy ako Garbage Collector. Garbage Collectors si pamätajú alebo vymazávajú nereferencované objekty. Garbage Collector uľahčuje život vývojárom/programátorom, pretože sa nemusia starať o správu pamäte.
Cesta triedy: Ako už názov napovedá, classpath je cesta, kde kompilátor Java a runtime Java vyhľadávajú súbor .class na načítanie. Mnoho vstavaných knižníc poskytuje JDK. Ak však niekto chce použiť externé knižnice, mal by byť pridaný do classpath.
Výrazné vlastnosti Java
Nezávislé od platformy: Namiesto priameho generovania súboru .exe kompilátor Java konvertuje kód Java na bajtový kód a tento bajtový kód možno bez problémov spustiť na rôznych platformách, vďaka čomu je Java jazyk nezávislý na platforme. Upozorňujeme, že na spustenie bajtového kódu musí byť v systéme nainštalovaný JVM, ktorý je závislý od platformy.
reťazec na celé číslo
Objektovo orientovaný programovací jazyk: Koncept objektovo orientovaného programovania je založený na koncepte objektov a tried. Objektovo orientované programovanie má tiež niekoľko vlastností. Niektoré z nich sú uvedené nižšie.
- Abstrakcia
- Dedičnosť
- Polymorfizmus
- Zapuzdrenie
Jazyk Java vo veľkej miere využíva aj koncepty tried a objektov. Všetky tieto funkcie uvedené vyššie sú v jazyku Java, vďaka čomu je Java objektovo orientovaný programovací jazyk. Všimnite si, že Java je objektovo orientovaný programovací jazyk, ale nie je 100% objektovo orientovaný.
jednoduché: Java sa považuje za jednoduchý jazyk, pretože nemá koncept ukazovateľov, viacnásobnej dedičnosti, explicitnej alokácie pamäte alebo preťaženia operátora.
Robustný:
Jazyk Java je veľmi robustný. Význam robustný je spoľahlivý. Jazyk Java je vyvinutý takým spôsobom, že veľa kontroly chýb sa vykonáva čo najskôr. Z tohto dôvodu tento jazyk dokáže identifikovať tie chyby, ktoré je ťažké identifikovať v iných programovacích jazykoch. Spracovanie výnimiek, zber odpadu a prideľovanie pamäte sú funkcie, vďaka ktorým je Java robustná.
Zabezpečiť: Existuje niekoľko chýb, ako je pretečenie vyrovnávacej pamäte alebo poškodenie zásobníka, ktoré nie je možné zneužiť v jazyku Java. Vieme, že jazyk Java nemá ukazovatele. Preto nie je možné mať prístup k poliam mimo rámec. Ak sa o to niekto pokúsi, vyvolá sa výnimka ArrayIndexOutofBound. Spúšťanie programov Java sa tiež deje v prostredí, ktoré je úplne nezávislé od operačného systému, čo robí tento jazyk ešte bezpečnejším.
Distribuované: Distribuované aplikácie je možné vytvárať pomocou jazyka Java. Enterprise Java beans a Remote Method Invocation sa používajú na vytváranie distribuovaných aplikácií. Distribúcia programov Java môže prebiehať jednoducho medzi jedným alebo viacerými systémami, ktoré sú navzájom prepojené pomocou internetu.
Viacvláknové: Jazyk Java podporuje multithreading. Funkcia multithreading podporuje spustenie dvoch alebo viacerých častí programu súčasne. Využitie CPU je teda maximálne.
Prenosnosť: Vieme, že Java je platformovo nezávislý jazyk. To znamená, že bajtový kód vygenerovaný na jednom systéme možno prevziať na akúkoľvek inú platformu na vykonanie, vďaka čomu je Java prenosná.
Výkon na vysokej úrovni: Architektúra Java je vytvorená takým spôsobom, že znižuje réžiu behu. Na niektorých miestach Java používa kompilátor JIT (Just In Time), keď sa kód kompiluje na základe dopytu, kde kompilátor iba kompiluje tie metódy, ktoré sú vyvolané, a tým umožňuje rýchlejšie vykonávanie aplikácií.
Dynamická flexibilita: Jazyk Java sa riadi paradigmou objektovo orientovaného programovania, ktorá nám dáva slobodu pridávať nové metódy a triedy k existujúcim triedam. Jazyk Java podporuje aj funkcie uvedené v jazykoch C/C++, ktoré sa vo všeobecnosti označujú ako natívne metódy.
Spustenie SandBoxu: Je známym faktom, že programy Java sa spúšťajú v rôznych prostrediach, čo dáva užívateľom slobodu spúšťať svoje vlastné aplikácie bez toho, aby to ovplyvnilo základný systém pomocou overovača bajtového kódu. Overovač Bytecode tiež poskytuje zvýšenú bezpečnosť, pretože kontroluje, či kód nenarušil prístup.
Napíšte Once Run Anywhere: Kód Java je kompilovaný kompilátorom, aby získal súbor .class alebo bajtový kód, ktorý je úplne nezávislý od akejkoľvek architektúry stroja.
Kompilovaný a interpretovaný jazyk: Väčšina jazykov je buď interpretovaný jazyk alebo kompilovaný jazyk. V prípade jazyka Java sa však kompiluje aj interpretovaný jazyk. Kód Java sa skompiluje, aby sa získal bajtový kód, a bajtový kód je interpretovaný softvérovým interpretom.
Niekoľko programov v jazyku Java
Nižšie je uvedených niekoľko základných programov Java.
Program - 1
Názov súboru: 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.'); } }
Výkon:
Welcome to javaTpoint.
Program - 2
Názov súboru: 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); } }
Výkon:
Sum = 26 Product = 168
Program - 3
Názov súboru: 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); } }
Výkon:
Input the First Number: 4 Input the Second Number: 5 Average = 4.5
Program - 4
arraylist
Názov súboru: FahrenheitCelsius.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); } }
Výkon:
Input the temperature in Celsius: 15 Temperature in Fahrenheit is: 59.0
Program - 5
Názov súboru: 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); } }
Výkon:
Enter the value of triangle's three sides: 15 16 17 Triangles Area: 109.98181667894016
Popis rôznych kľúčových slov používaných vo vyššie uvedených programoch
//: Používa sa na vkladanie komentárov do kódu, aby bol pre čitateľov čitateľnejší. Kompilátor pri kompilácii programu úplne ignoruje komentáre. Pre viacriadkový komentár používame: /* … */
metóda main(): Najdôležitejšia metóda programu, kde začína vykonávanie. Preto musí všetka logika spočívať v hlavnej metóde. Ak metóda main() neobsahuje logiku, bude tam v nejakej inej metóde, ale táto metóda musí byť vyvolaná priamo alebo nepriamo z metódy main().
trieda: Kľúčové slovo class sa používa na deklarovanie triedy v jazyku Java.
neplatné: to znamená, že funkcia alebo metóda nebude nič vracať.
System.out.println(): Používa sa na tlač výpisov, vzorov atď. na konzole.
Reťazec argvs[]: Je to argument príkazového riadka, ktorý sa používa na prijímanie vstupu.
verejné: Je to kľúčové slovo špecifikátora prístupu. Keď sa použije na metódu, potom je táto metóda viditeľná pre všetkých. Ďalšie kľúčové slová špecifikátora prístupu sú súkromné, chránené a predvolené.
import java.io.*: To znamená, že všetky triedy prítomné v balíku java.io sa dováža. Balík java.io uľahčuje výstupné a vstupné toky pre zápis a čítanie údajov do súborov. * znamená všetko. Ak chcete importovať iba konkrétnu triedu, nahraďte * názvom triedy.
System.in: Je to vstupný tok, ktorý sa používa na čítanie znakov zo vstupného zariadenia, ktorým je v našom prípade zvyčajne klávesnica.
statické void main(): Statické kľúčové slovo hovorí, že k metóde je možné pristupovať bez vykonania inštancie triedy.
System.out: Keďže System.in sa používa na čítanie znakov, System.out sa používa na zobrazenie výsledku programu na výstupnom zariadení, ako je obrazovka počítača.
double, int: Rôzne dátové typy, int pre celé čísla, double pre double. Ďalšie typy údajov sú char, boolean, float atď.
println(): Metóda zobrazuje texty na konzole. Metóda vytlačí text na obrazovku a potom sa presunie na ďalší riadok. Pre ďalší riadok sa používa ln. Ak nechceme, aby sa kurzor presunul na ďalší riadok, použijeme metódu print().