Kako Java radi i razumijevanje strukture koda Jave - 2. dio


U našem poslednjem postu „Šta je Java i istorija Jave“ pokrili smo šta je Java, karakteristike Jave u detaljima, istoriju izdanja i njeno imenovanje, kao i mesta na kojima se Java koristi.

Ovdje u ovom postu ćemo proći kroz rad i strukturu koda Java programskog jezika. Prije nego što nastavimo, da vas podsjetim da je Java razvijena imajući na umu “Write Once Run Anywhere/Anytime (WORA)” znači osigurati da razvijena aplikacija bude arhitektonski neutralna, nezavisna od platforme i prenosiva.

Rad na Javi

Imajući u vidu ove ciljeve, Java je razvijena sa donji radnim modelom koji se može klasifikovati u četiri faze.

Faza 1

Napišite izvorni fajl. Ova datoteka sadrži sve procedure, metode, klasu i objekte u okviru uspostavljenog protokola za Java programski jezik. Ime izvorne datoteke treba biti ime klase ili obrnuto. Ime izvorne datoteke mora imati ekstenziju .java. Takođe ime datoteke i ime klase razlikuju velika i mala slova.

Faza 2

Pokrenite datoteku Java izvornog koda kroz Java Compiler. Java izvorni kod kompajler provjerava greške i sintaksu u izvornom fajlu. Neće vam dozvoliti da prevedete svoj izvorni kod bez zadovoljavanja Java kompajlera tako što ćete popraviti sve greške i upozorenja.

Faza 3

Kompajler kreira fajl klase. Ove datoteke klase nasljeđuju isto ime kao naziv datoteke izvornog koda, ali ekstenzija varira. Naziv izvorne datoteke ima ekstenziju 'filename.java', gdje je ekstenzija datoteke klase koju kreira kompajler 'filename.class'. Ovaj fajl klase je kodiran u bajtkod – bajtkodovi su poput magije.

Faza 4

Ovaj fajl klase kreiran od strane Java Compiler-a je prenosiv i arhitektonski neutralan. Možete prenijeti ovu datoteku klase za pokretanje na bilo kojoj arhitekturi procesora i platformi/uređaju. Sve što vam treba je Java virtuelna mašina (JVM) za pokretanje ovog koda bez obzira gde.

Sada razumite gornje četiri faze koristeći primjer. Evo malog uzorka Java programskog koda. Ne brinite ako ne razumijete donji kod. Za sada samo shvatite kako to funkcionira.

public class MyFirstProgram
{
    public static void main(String[] args)
    {
        System.out.println("Hello Tecmint, This is my first Java Program");
    }
}

1. Napisao sam ovaj program i definisao naziv klase MyFirstProgram. Važno je napomenuti da ovaj program mora biti sačuvan kao 'MyFirstProgram.java'.

Zapamtite fazu 1 iznad – Ime klase i ime datoteke moraju biti isti, a naziv datoteke mora imati ekstenziju .java. Java je također osjetljiva na velika i mala slova, pa ako je ime vaše klase „MyFirstProgram“, naziv izvorne datoteke mora biti „MyFirstProgram.java“.

Ne možete ga imenovati kao „Myfirstprogram.java“ ili „myfirstprogram.java“ ili bilo šta drugo. Po konvenciji je dobra ideja da imenujete svoju klasu na osnovu onoga što program zapravo radi.

2. Da biste kompajlirali ovaj Java izvorni fajl, morate ga proći kroz Java kompajler. Java kompajler će u suštini provjeriti izvorni kod za bilo kakvu grešku i upozorenje. Neće kompajlirati izvorni kod dok se svi problemi ne riješe. Za kompajliranje java izvornog koda potrebno je pokrenuti:

javac MyFirstProgram.java

Gdje je MyFirstProgram.java naziv izvorne datoteke.

3. Nakon uspješnog prevođenja primijetit ćete da je Java kompajler kreirao novu datoteku u istom direktoriju čije je ime MyFirstProgram.class.

Ova datoteka klase je kodirana u bajt kodovima i može se pokrenuti na bilo kojoj platformi, bilo kojoj arhitekturi procesora bilo koji broj vremena. Možete pokrenuti datoteku klase unutar JVM-a (Java Virtual Machine) na Linuxu ili bilo kojoj drugoj platformi jednostavno kao:

java MyFirstProgram

Dakle, sve što ste naučili iznad može se sažeti na sljedeći način:

Java Source Code >> Compiler >> classfile/bytecode >> Various devices running JVM 

Razumijevanje strukture koda u Javi

1. Java izvorni kod mora sadržavati definiciju klase. Jedna Java izvorna datoteka može sadržavati samo jednu javnu klasu/klasu najvišeg nivoa, ali može sadržavati mnogo privatnih klasa/unutrašnje klase.

Vanjska klasa/top klasa/javna klasa može pristupiti svim privatnim klasama/unutrašnjoj klasi. Klasa mora biti unutar vitičastih zagrada. Sve u Javi je objekat, a klasa je nacrt za objekat.

Demo javne/privatne klase u Javi:

public class class0
{
...
	private class1
	{
	…
	}

	private class 2
	{
	…
	}
...
}

2. Klasa sadrži jednu ili više metoda. Metoda mora biti unutar vitičastih zagrada klase. Lažni primjer je:

public class class0
{
	public static void main(String[] args)
	{
	…..
	…..
	}
}

3. Metoda sadrži jednu ili više naredbi/instrukcija. Instrukcije moraju biti unutar vitičastih zagrada metode. Lažni primjer je:

public class class0
{
	public static void main(String[] args)
	{
	System.out.println("Hello Tecmint, This is my first Java Program");
	System.out.println("I am Loving Java");
	…
	...
	}
}

Takođe je važno napomenuti u ovom trenutku – svaka izjava mora završiti tačkom i zarezom. Lažni primjer je:

System.out.println("Hello Tecmint, This is my first Java Program");
...
...
System.out.println("I am Loving Java");

Pisanje vašeg prvog Java programa sa detaljnim opisom. Opis se stavlja kao komentar ovdje (// znači komentarisan) u ovom primjeru. Trebali biste pisati komentare unutar programa.

Ne samo zato što je to dobra navika već i zato što čini kod čitljivim vama ili bilo kome drugom u bilo koje vrijeme kasnije.

// Declare a Public class and name it anything but remember the class name and file name must be same, say class name is MyProg and hence file name must be MyProg.java
public class MyProg

// Remember everything goes into curly braces of class?
{
 

// This is a method which is inside the curly braces of class.
   public static void main(String[] args)

    // Everything inside a method goes into curly braces	
    {
        
    // Statement or Instruction inside method. Note it ends with a semicolon
    System.out.println("I didn't knew JAVA was so much fun filled");
    
    // closing braces of method
    }

// closing braces of class
}

Detaljan tehnički opis gore navedenog jednostavnog Java programa.

public class MyProg

Ovdje u gornjem nazivu klase je MyProg, a MyProg je javna klasa što znači da joj svako može pristupiti.

public static void main(String[] args)

Ovdje je ime metode main što je javna metoda, što znači da joj može pristupiti bilo ko. Tip povratka je void što znači da nema povratne vrijednosti. 'Strings[] args' znači da argumenti za metodu main trebaju biti niz koji će se zvati args. Ne brinite o značenju "statičnog" od sada. O tome ćemo detaljno opisati kada bude potrebno.

System.out.println("I didn't knew JAVA was so much fun filled");

System.out.ln zamolite JVM da ispiše izlaz na standardni izlaz koji je Linux komandna linija u našem slučaju. Sve što se nalazi između zagrada naredbe println ispisuje se takvo kakvo jeste, osim ako nije varijabla. Kasnije ćemo ući u detalje varijable. Izjava se završava tačkom i zarezom.

Čak i ako sada nešto nije jasno, ne morate brinuti o ovome. Takođe ne morate ništa da se sećate. Samo prođite kroz post i razumite terminologiju i rad čak i kada slika nije baš jasna.

To je sve za sada. Ostanite povezani na Tecmint. Dajte nam svoje vrijedne povratne informacije u komentarima ispod. Radimo na sljedećem dijelu “klasa i glavna metoda u Javi” i uskoro ćemo ga objaviti.