logo

Bevezetés a Java-ba

A Java egy objektumorientált, osztály alapú programozási nyelv. A nyelvet úgy tervezték meg, hogy a lehető legkevesebb függőséget alkalmazzon. A nyelv használatának célja, hogy megkönnyebbítse a fejlesztőket attól, hogy minden platformra kódokat írjanak. A WORA, írd egyszer és fuss mindenhol kifejezést gyakran társítják ehhez a nyelvhez. Ez azt jelenti, hogy amikor lefordítunk egy Java kódot, megkapjuk a bájtkódot (.class fájl), és ez végrehajtható (újbóli fordítás nélkül) különböző platformokon, feltéve, hogy támogatják a Java-t. 1995-ben fejlesztették ki a Java nyelvet. Főleg webes, asztali és mobileszközök fejlesztésére használják. A Java nyelv robusztusságáról, biztonságáról és egyszerűségéről ismert. Ezt úgy tervezték, hogy a lehető legkevesebb megvalósítási függőséget tartalmazzon.

Történelem

A Java nyelvnek nagyon érdekes története van. Patrick Naughton, Mike Sheridan és Jame Gosling, a zöld csapatként ismert, 1991-ben kezdték el a Java fejlesztését. Ezek az emberek voltak a mérnökök a cégnél. Sun Microsystems . 1996-ban adták ki az első nyilvános implementációt Java 1.0 néven. A Java 1.0 fordítóját Arthur Van Hoff írta át, hogy szigorúan megfeleljen a specifikációinak. A Java 2 bevezetésével az új verziók többféle konfigurációval rendelkeznek, amelyeket a különböző platformokhoz építettek. Érdemes megjegyezni, hogy James Goslingot Java atyjaként is ismerik.

A Sun Microsystems 1997-ben megkereste az ISO szabvány testületét a Java formalizálása érdekében, de a folyamatot hamarosan visszavonták. Valamikor a Sun Microsystems a Java implementációjának nagy részét ingyenesen elérhetővé tette, annak ellenére, hogy védett szoftver státusza volt.

Alkalmazási programok

Az alkalmazásprogram implementálása Java alkalmazásban a következő lépéseket tartalmazza.

hogyan kell java-ban frissíteni
  1. A program létrehozása (a kód beírása)
  2. A program összeállítása.
  3. A lefordított kód végrehajtása.

Itt érdemes megjegyezni, hogy a JDK-t (Java Development Kit) megfelelően kell telepíteni a rendszerre, és az elérési utat is be kell állítani.

A Teremtés program

A Java program megírható szövegszerkesztővel (Notepad++ vagy NotePad vagy más szerkesztők is elvégzik a munkát.) vagy IDE (Eclipse, NetBeans stb.) segítségével.

Fájl név: 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.'); } } 

Írja be a fenti kódot, és mentse el a fájlt TestClass néven. A fájlnak rendelkeznie kell a .Jáva kiterjesztés.

A program összeállítása

Nyissa meg a parancssort, és írja be javac TestClass.java . javac az a parancs, amely működésbe hozza a Java fordítót a Java program lefordításához. A parancs után a lefordítandó fájl nevét kell megadnunk. A mi esetünkben az TestClass.java . A beírás után nyomja meg az enter gombot. Ha minden jól megy, akkor egy TestClass.class fájl jön létre, amely tartalmazza a bájtkódot. Ha valami hiba van a programban, a fordító rámutat, és TestClass.class nem jön létre.

A program futtatása / végrehajtása

A .class fájl létrehozása után írja be java TestClass a program futtatásához. A program kimenete megjelenik a konzolon, amelyet alább említünk.

Kimenet:

 Hello World is my first Java Program. 

A Java név

Kezdetben a tölgy nevet adták a nyelvnek. A csapat azonban úgy döntött, hogy új nevet kell adni a nyelvnek, és olyan szavakat javasoltak, mint a DNS, forradalmár, Jolt, Dynamic, Silk stb. Ezeket a neveket szórakoztató volt kimondani, és könnyű volt kibetűzni. De ami hiányzott, az a nyelvezet lényege a javasolt nevekből, amit a csapat szeretett volna. James Gosling szerint a Java és a Silk volt a két legnépszerűbb lehetőség, és mivel a Java egyedi neve volt, a legtöbben ezt preferálták.

Java egy indonéziai sziget neve is, ahol kávét (Java Coffee néven) gyártottak. A Java nevet James Gosling azért választotta, mert éppen az irodája közelében kávézott. Az olvasóknak meg kell jegyezniük, hogy a Java nem egy mozaikszó. Ez csak egy név.

A Java terminológiái

JVM (Java virtuális gép): A JVM az a specifikáció, amely megkönnyíti azt a futási környezetet, amelyben a Java bájtkód végrehajtása megtörténik. Amikor valaki használja a parancsot Jáva, létrejön a JVM egy példánya . A JVM megkönnyíti a memóriaterület, a regiszterkészlet, az osztályfájlformátum és a végzetes hibajelentés meghatározását. Vegye figyelembe, hogy a JVM platformfüggő.

Bájt kód: A bevezető részben már volt szó arról, hogy a Java fordító fordítja le a Java kódot a .class fájl vagy a bájt kód előállításához. Használni kell a javac parancsot a Java fordító meghívásához.

Java fejlesztőkészlet (JDK): Ez a teljes Java fejlesztőkészlet, amely mindent magában foglal, beleértve a JRE-t (Java Runtime Environment), a fordítót, a java dokumentumokat, a hibakeresőket stb. A Java programok létrehozásához, fordításához és végrehajtásához telepíteni kell a JDK-t a számítógépen.

külön string java-ban

Java futási környezet (JRE): A JRE a JDK része. Ha egy rendszeren csak a JRE van telepítve, akkor a felhasználó csak a programot futtathatja. Más szóval csak a Jáva parancs működik. Java program fordítása nem lesz lehetséges (a javac parancs nem fog működni).

Szemetes: A programozók nem tudnak objektumokat törölni a Java nyelven. Ennek érdekében a JVM rendelkezik egy Garbage Collector nevű programmal. A szemétgyűjtők emlékeznek vagy törölnek nem hivatkozott objektumokat. A Garbage Collector megkönnyíti a fejlesztők/programozók életét, mivel nem kell aggódniuk a memóriakezelés miatt.

Osztályút: Ahogy a neve is sugallja, az osztályútvonal az az elérési út, ahol a Java fordító és a Java futási környezet keresi a betöltendő .class fájlt. A JDK számos beépített könyvtárat biztosít. Ha azonban valaki a külső könyvtárakat szeretné használni, akkor azt hozzá kell adni az osztályútvonalhoz.

A Java kiemelkedő tulajdonságai

Platformfüggetlen: Ahelyett, hogy közvetlenül generálná az .exe fájlt, a Java fordító a Java kódot bájtkóddá alakítja, és ez a bájtkód különböző platformokon probléma nélkül végrehajtható, így a Java platformfüggetlen nyelv. Vegye figyelembe, hogy a bájtkód végrehajtásához a JVM-et telepíteni kell a rendszerre, ami platformfüggő.

Objektum-orientált programozási nyelv: Az objektumorientált programozás koncepciója az objektumok és osztályok fogalmán alapul. Ezenkívül számos tulajdonság van jelen az objektumorientált programozásban. Ezek közül néhányat az alábbiakban említünk.

  • Absztrakció
  • Öröklés
  • Polimorfizmus
  • Egységbezárás

A Java nyelv emellett széles körben használja az osztályok és objektumok fogalmait. Ezenkívül a fent említett szolgáltatások mindegyike megtalálható a Java-ban, ami a Java objektum-orientált programozási nyelvvé teszi. Vegye figyelembe, hogy a Java egy objektum-orientált programozási nyelv, de nem 100%-ban objektum-orientált.

Egyszerű: A Java egyszerű nyelvnek tekinthető, mert nem tartalmazza a mutatók, a többszörös öröklődés, az explicit memóriafoglalás vagy az operátor túlterhelés fogalmát.

Erős:

A Java nyelv nagyon robusztus. A robusztus jelentése megbízható. A Java nyelvet úgy fejlesztették ki, hogy a lehető legkorábban sok hibaellenőrzésre kerüljön sor. Ez az oka annak, hogy ez a nyelv képes azonosítani azokat a hibákat, amelyeket más programozási nyelvekben nehéz azonosítani. A kivételkezelés, a szemétgyűjtés és a memóriafoglalás azok a szolgáltatások, amelyek robusztussá teszik a Java-t.

Biztonságos: Számos olyan hiba van, mint például a puffer túlcsordulása vagy a verem sérülése, amelyeket nem lehet kihasználni a Java nyelven. Tudjuk, hogy a Java nyelvnek nincsenek mutatói. Ezért nem lehet hozzáférni a kötötten kívüli tömbökhöz. Ha valaki megpróbálja ezt megtenni, az ArrayIndexOutofBound Exception kivételt vet fel. Ezenkívül a Java programok végrehajtása az operációs rendszertől teljesen független környezetben történik, ami még biztonságosabbá teszi ezt a nyelvet.

Megosztott: Elosztott alkalmazások a Java nyelv segítségével hozhatók létre. Az Enterprise Java bean és a Remote Method Invocation az elosztott alkalmazások létrehozására szolgál. A Java programok terjesztése könnyen megtörténhet egy vagy több rendszer között, amelyek interneten keresztül kapcsolódnak egymáshoz.

Többszálú: A Java nyelv támogatja a többszálú feldolgozást. A többszálú szolgáltatás a program két vagy több részének egyidejű végrehajtását támogatja. Így a CPU kihasználtsága maximalizálható.

Hordozhatóság: Tudjuk, hogy a Java platformfüggetlen nyelv. Így az egyik rendszeren generált bájtkód bármely más platformon végrehajtható, ami hordozhatóvá teszi a Java-t.

Magas szintű teljesítmény: A Java architektúrája úgy van kialakítva, hogy csökkenti a futási időt. Egyes helyeken a Java JIT (Just In Time) fordítót használ, amikor a kódot igény alapján fordítják, ahol a fordító csak azokat a metódusokat fordítja le, amelyeket meghívnak, és így gyorsabban futnak le az alkalmazások.

Dinamikus rugalmasság: A Java nyelv az objektum-orientált programozási paradigmát követi, amely lehetőséget ad arra, hogy új metódusokat és osztályokat adjunk a meglévő osztályokhoz. A Java nyelv a C/C++ nyelvekben említett függvényeket is támogatja, amelyeket általában natív metódusoknak neveznek.

Sandbox végrehajtás: Ismert tény, hogy a Java programok különböző környezetben futnak, ami szabadságot ad a felhasználóknak saját alkalmazásaik futtatására anélkül, hogy a bájtkód-ellenőrző segítségével az alapul szolgáló rendszert érintené. A bájtkód-ellenőrző is extra biztonságot nyújt, mivel ellenőrzi a kódot a hozzáférés megsértésére.

Írja be, ha fut bárhol: A Java kódot a fordító fordítja le, hogy megkapja a .class fájlt vagy a bájtkódot, amely teljesen független minden gépi architektúrától.

Összeállított és tolmácsolt nyelv: A legtöbb nyelv vagy tolmácsolt nyelv, vagy összeállított nyelv. A Java nyelv esetében azonban az is le van fordítva, mint az értelmezett nyelv. A Java kódot úgy fordítják le, hogy megkapja a bájtkódot, és a bájtkódot a szoftver alapú értelmező értelmezi.

Néhány program Java-on

Az alábbiakban felsorolunk néhány alapvető Java programot.

Program - 1

Fájl név: 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.'); } } 

Kimenet:

 Welcome to javaTpoint. 

Program - 2

Fájl név: 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); } } 

Kimenet:

 Sum = 26 Product = 168 

Program - 3

Fájl név: 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); } } 

Kimenet:

 Input the First Number: 4 Input the Second Number: 5 Average = 4.5 

Program - 4

mátrixok a c programozásban

Fájl név: 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); } } 

Kimenet:

 Input the temperature in Celsius: 15 Temperature in Fahrenheit is: 59.0 

Program - 5

Fájl név: 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); } } 

Kimenet:

 Enter the value of triangle's three sides: 15 16 17 Triangles Area: 109.98181667894016 

A fenti programokban használt különféle kulcsszavak leírása

//: Arra használják, hogy megjegyzéseket helyezzenek el a kódban, hogy olvashatóbbá tegyék az olvasók számára. A fordító a program fordításakor teljesen figyelmen kívül hagyja a megjegyzéseket. Többsoros megjegyzéshez a következőt használjuk: /* … */

main() metódus: A program legfontosabb módszere, ahol a végrehajtás kezdődik. Ezért minden logikának a fő metódusban kell laknia. Ha a main() metódus nem tartalmazza a logikát, akkor más metódusban is ott lesz, de ezt a metódust közvetlenül vagy közvetve a main() metódusból kell meghívni.

osztály: A class kulcsszó az osztály deklarálására szolgál a Java nyelven.

üres: ez azt jelenti, hogy a függvény vagy metódus nem ad vissza semmit.

System.out.println(): Kijelentések, minták stb. nyomtatására szolgál a konzolon.

Karakterlánc argvs[]: Ez egy parancssori argumentum, amelyet bevitel fogadására használnak.

nyilvános: Ez egy hozzáférés-specifikációs kulcsszó. Ha egy módszerre alkalmazzák, akkor az mindenki számára látható. Egyéb hozzáférés-specifikációs kulcsszavak: privát, védett és alapértelmezett.

java karakterlánc összehasonlítva

import java.io.*: Ez azt jelenti, hogy a csomagban található összes osztály java.io be van importálva. A java.io csomag megkönnyíti a kimeneti és bemeneti adatfolyamokat az adatok fájlba írásához és olvasásához. * mindent jelent. Ha csak egy adott osztályt akarunk importálni, akkor cseréljük ki a * jelet az osztály nevére.

System.in: Ez az a bemeneti adatfolyam, amelyet a bevitelt adó eszközről való karakterek olvasására használnak, ami esetünkben általában egy billentyűzet.

static void main(): A static kulcsszó azt mondja, hogy a metódus az osztály példányosítása nélkül is elérhető.

System.out: Mivel a System.in a karakterek olvasására szolgál, a System.out a program eredményének megjelenítésére szolgál egy kimeneti eszközön, például a számítógép képernyőjén.

dupla, int: A különböző adattípusok, int az egész számokhoz, double a double. Egyéb adattípusok a char, a logikai érték, a float stb.

println(): A metódus a szövegeket jeleníti meg a konzolon. A módszer kinyomtatja a szöveget a képernyőre, majd a következő sorra lép. A következő sorban az ln-t használjuk. Ha nem akarjuk, hogy a kurzor a következő sorra lépjen, használja a print() metódust.