logo

Uvod u Javu

Java je objektno orijentiran programski jezik zasnovan na klasama. Jezik je dizajniran da ima što manje implementacija ovisnosti. Namjera korištenja ovog jezika je olakšati programerima pisanje kodova za svaku platformu. Pojam WORA, write once and run everywhere često se povezuje s ovim jezikom. To znači da kad god kompajliramo Java kod, dobivamo bajt kod (.class datoteku) i to se može izvršiti (bez ponovnog kompajliranja) na različitim platformama pod uvjetom da podržavaju Javu. Godine 1995. razvijen je jezik Java. Uglavnom se koristi za razvoj weba, stolnih računala i mobilnih uređaja. Jezik Java poznat je po robusnosti, sigurnosti i jednostavnosti. To je osmišljeno tako da ima što manje ovisnosti o implementaciji.

Povijest

Jezik Java ima vrlo zanimljivu povijest. Patrick Naughton, Mike Sheridan i Jame Gosling, poznati kao Green team, započeli su razvoj Jave 1991. godine. Ti su ljudi bili inženjeri u Sun Microsystems . Godine 1996. prva javna implementacija objavljena je kao Java 1.0. Kompajler Jave 1.0 prepisao je Arthur Van Hoff kako bi bio u skladu s njegovom specifikacijom. S uvođenjem Jave 2, nove verzije imaju više različitih konfiguracija koje su izgrađene za različite platforme. Vrijedno je napomenuti da je James Gosling poznat i kao otac Jave.

Sun Microsystems je 1997. godine pristupio ISO standardnom tijelu kako bi formalizirao Javu, ali je proces ubrzo povučen. U jednom trenutku, Sun Microsystems je omogućio većinu svoje implementacije Jave dostupnom bez ikakvih troškova, unatoč statusu vlasničkog softvera.

Aplikacijski programi

Implementacija aplikacijskog programa u Java aplikaciji uključuje sljedeće korake.

  1. Izrada programa (pisanje koda)
  2. Kompilacija programa.
  3. Izvršavanje kompajliranog koda.

Ovdje je vrijedno napomenuti da JDK (Java Development Kit) treba pravilno instalirati na sustav, a također treba postaviti putanju.

Program Kreacija

Java program može se napisati pomoću uređivača teksta (Notepad++ ili NotePad ili drugi uređivači također će obaviti posao.) ili IDE-a (Eclipse, NetBeans itd.).

Naziv datoteke: 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.'); } } 

Napišite gornji kod i spremite datoteku pod imenom TestClass. Datoteka bi trebala imati .Java proširenje.

Kompilacija programa

Otvorite naredbeni redak i upišite javac TestClass.java . javac je naredba koja tjera Java prevoditelj da prevede Java program. Nakon naredbe moramo staviti naziv datoteke koju treba kompajlirati. U našem slučaju jest TestClass.java . Nakon upisivanja pritisnite tipku enter. Ako sve bude u redu, generirat će se datoteka TestClass.class koja sadrži bajt kod. Ako postoji neka pogreška u programu, prevodilac će je ukazati, i TestClass.class neće biti stvorena.

Pokretanje / Izvršavanje programa

Nakon što se kreira datoteka .class, upišite java TestClass za pokretanje programa. Izlaz programa bit će prikazan na konzoli, što je navedeno u nastavku.

Izlaz:

 Hello World is my first Java Program. 

Ime Java

U početku je naziv hrast davan jeziku. Međutim, tim je odlučio da jeziku treba dati novo ime, a predložene su riječi poput DNK, revolucionaran, Jolt, Dinamičan, Svila itd. Sva ova imena bilo je zabavno izgovoriti i lako ih je sricati. Ali ono što je nedostajalo bila je bit jezika u predloženim imenima, što je tim želio imati. Prema Jamesu Goslingu, Java i Silk bile su dvije najpopularnije opcije, a budući da je Java imala jedinstveno ime, većina ju je preferirala.

Java je također ime otoka u Indoneziji gdje se proizvodila kava (nazvana Java Coffee). Ime Java odabrao je James Gosling jer je pio kavu u blizini svog ureda. Čitatelji trebaju imati na umu da Java nije akronim. To je samo ime.

Terminologije u Javi

JVM (Java virtualni stroj): JVM je specifikacija koja olakšava radnu okolinu u kojoj se odvija izvršavanje Java bajt koda. Kad god netko koristi naredbu Java, stvorena je instanca JVM-a . JVM olakšava definiranje memorijskog područja, skupa registara, formata datoteke klase i izvještavanje o fatalnim pogreškama. Imajte na umu da JVM ovisi o platformi.

Kod bajta: Već je bilo riječi u uvodnom dijelu da Java prevodilac prevodi Java kod za generiranje .class datoteke ili bajt koda. Čovjek mora koristiti javac naredba za pozivanje Java prevoditelja.

Java Development Kit (JDK): To je kompletan Java Development Kit koji obuhvaća sve, uključujući JRE (Java Runtime Environment), kompajler, java dokumente, programe za ispravljanje pogrešaka itd. JDK mora biti instaliran na računalu za stvaranje, kompilaciju i izvođenje Java programa.

Java Runtime Environment (JRE): JRE je dio JDK-a. Ako sustav ima instaliran samo JRE, tada korisnik može pokrenuti samo program. Drugim riječima, samo Java naredba radi. Kompilacija Java programa neće biti moguća (the javac naredba neće raditi).

Sakupljač smeća: Programeri ne mogu brisati objekte u Javi. Da bi to učinio, JVM ima program poznat kao Garbage Collector. Skupljači smeća prisjećaju se ili brišu nereferencirane objekte. Garbage Collector olakšava život programera/programera jer ne moraju brinuti o upravljanju memorijom.

Classpath: Kao što ime sugerira, classpath je staza na kojoj Java kompilator i Java runtime traže .class datoteku za učitavanje. Mnoge ugrađene biblioteke pruža JDK. Međutim, ako netko želi koristiti vanjske biblioteke, to treba dodati u classpath.

Istaknute značajke Jave

Neovisno o platformi: Umjesto izravnog generiranja .exe datoteke, Java prevoditelj pretvara Java kod u bajt kod, a ovaj bajt kod se može izvršiti na različitim platformama bez ikakvih problema, što Javu čini jezikom neovisnim o platformi. Imajte na umu da kako bi se izvršio bajt kod, JVM mora biti instaliran na sustavu, što ovisi o platformi.

Objektno orijentirani programski jezik: Koncept objektno orijentiranog programiranja temelji se na konceptu objekata i klasa. Također, postoji nekoliko kvaliteta koje su prisutne u objektno orijentiranom programiranju. Neki od njih navedeni su u nastavku.

  • Apstrakcija
  • Nasljedstvo
  • Polimorfizam
  • Enkapsulacija

Jezik Java također opsežno koristi koncepte klasa i objekata. Također, sve ove gore spomenute značajke postoje u Javi, što Javu čini objektno orijentiranim programskim jezikom. Imajte na umu da je Java objektno orijentiran programski jezik, ali nije 100% objektno orijentiran.

Jednostavan: Java se smatra jednostavnim jezikom jer nema koncept pokazivača, višestrukog nasljeđivanja, eksplicitne dodjele memorije ili preopterećenja operatora.

što java

Robustan:

Java jezik je vrlo robustan. Značenje robustan je pouzdan. Jezik Java razvijen je na takav način da se mnoge provjere pogrešaka rade što je prije moguće. Upravo zbog toga ovaj jezik može identificirati one pogreške koje je teško identificirati u drugim programskim jezicima. Rukovanje iznimkama, sakupljanje smeća i dodjela memorije značajke su koje Javu čine robusnom.

Siguran: Postoji nekoliko pogrešaka poput prekoračenja međuspremnika ili oštećenja stoga koje nije moguće iskoristiti u jeziku Java. Znamo da Java jezik nema pokazivače. Stoga nije moguće imati pristup izvangraničnim nizovima. Ako netko pokuša to učiniti, javlja se iznimka ArrayIndexOutofBound. Također, izvršavanje Java programa događa se u okruženju koje je potpuno neovisno o operativnom sustavu, što ovaj jezik čini još sigurnijim.

Distribuirano: Distribuirane aplikacije mogu se kreirati uz pomoć jezika Java. Enterprise Java beans i Remote Method Invocation koriste se za kreiranje distribuiranih aplikacija. Distribucija Java programa može se lako dogoditi između jednog ili više sustava koji su međusobno povezani putem interneta.

Višenitnost: Java jezik podržava višenitnost. Značajka višenitnosti podržava istovremeno izvođenje dvaju ili više dijelova programa. Dakle, iskoristivost CPU-a je maksimizirana.

Prenosivost: Znamo da je Java jezik neovisan o platformi. Dakle, bajt kod generiran na jednom sustavu može se preuzeti na bilo kojoj drugoj platformi za izvršenje, što Javu čini prenosivom.

Izvedba na visokoj razini: Arhitektura Jave stvorena je na takav način da smanjuje opterećenje vremena izvođenja. Na nekim mjestima Java koristi JIT (Just In Time) kompajler kada se kod kompajlira na zahtjev, gdje kompajler kompajlira samo one metode koje su pozvane i na taj način omogućuje brže izvršavanje aplikacija.

Dinamička fleksibilnost: Jezik Java slijedi paradigmu objektno orijentiranog programiranja, koja nam daje slobodu dodavanja novih metoda i klasa postojećim klasama. Jezik Java također podržava funkcije koje se spominju u jezicima C/C++ i koje se općenito nazivaju izvornim metodama.

Izvršenje sandboxa: Poznata je činjenica da se Java programi izvode u različitim okruženjima, što daje slobodu korisnicima da izvršavaju vlastite aplikacije bez utjecaja na temeljni sustav pomoću verifikatora bajt-koda. Verifikator bajt koda također daje dodatnu sigurnost jer provjerava kod za kršenje pristupa.

Write Once Run Anywhere: Java kôd kompilira kompilator da dobije .class datoteku ili bajt kod, koji je potpuno neovisan o bilo kojoj arhitekturi stroja.

Prevedeni i interpretirani jezik: Većina jezika je ili interpretirani jezik ili prevedeni jezik. Međutim, u slučaju Java jezika, on se kompilira kao i interpretirani jezik. Java kod se kompilira kako bi se dobio bajt kod, a bajt kod tumači softverski tumač.

Nekoliko programa na Javi

Dolje je navedeno nekoliko osnovnih Java programa.

Program - 1

Naziv datoteke: 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.'); } } 

Izlaz:

 Welcome to javaTpoint. 

Program - 2

Naziv datoteke: 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); } } 

Izlaz:

 Sum = 26 Product = 168 

Program - 3

Naziv datoteke: 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); } } 

Izlaz:

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

Program - 4

Naziv datoteke: 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); } } 

Izlaz:

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

Program - 5

Naziv datoteke: 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); } } 

Izlaz:

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

Opis različitih ključnih riječi koje se koriste u gore navedenim programima

//: Koristi se za stavljanje komentara u kod kako bi bio čitljiviji za čitatelje. Prevodilac potpuno zanemaruje komentare tijekom prevođenja programa. Za višeredni komentar koristimo: /* … */

main() metoda: Najvažnija metoda programa gdje počinje izvršenje. Stoga sva logika mora biti u glavnoj metodi. Ako main() metoda ne sadrži logiku, tada će biti tu u nekoj drugoj metodi, ali ta se metoda mora pozvati iz main() metode izravno ili neizravno.

razred: Ključna riječ class koristi se za deklariranje klase u jeziku Java.

poništiti: to znači da funkcija ili metoda neće ništa vraćati.

System.out.println(): Koristi se za ispis iskaza, uzoraka itd. na konzoli.

Niz argvs[]: To je argument naredbenog retka koji se koristi za unos podataka.

javnost: To je ključna riječ za specifikator pristupa. Kada se primijeni na metodu, tada je ta metoda vidljiva svima. Druge ključne riječi specifikatora pristupa su privatno, zaštićeno i zadano.

uvoz java.io.*: To znači da su sve klase prisutne u paketu java.io se uvozi. Paket java.io olakšava izlazne i ulazne tokove za pisanje i čitanje podataka u datoteke. * znači sve. Ako želite uvesti samo određenu klasu, zamijenite * s nazivom klase.

System.in: To je ulazni tok koji se koristi za čitanje znakova s ​​uređaja za unos, što je obično tipkovnica u našem slučaju.

static void main(): Ključna riječ static govori da se metodi može pristupiti bez instanciranja klase.

System.out: Kako se System.in koristi za čitanje znakova, System.out se koristi za prikaz rezultata programa na izlaznom uređaju kao što je zaslon računala.

dvostruko, int: Različiti tipovi podataka, int za cijele brojeve, double za double. Ostali tipovi podataka su char, boolean, float itd.

println(): Metoda prikazuje tekstove na konzoli. Metoda ispisuje tekst na ekran, a zatim prelazi u sljedeći redak. Za sljedeći redak koristi se ln. Ako ne želimo da se kursor pomakne u sljedeći red, koristimo metodu print().