Wéi Java funktionnéiert a Code Struktur vu Java verstoen - Deel 2


An eisem leschte Post 'Wat ass Java a Geschicht vu Java' hu mir iwwerdeckt Wat ass Java, Feature vu Java an Detailer, Verëffentlechungsgeschicht a seng Benennung souwéi Plazen wou Java benotzt gëtt.

Hei an dësem Post wäerte mir duerch d'Aarbecht an d'Codestruktur vun der Java Programméiersprooch goen. Ier mer weidergoen, loosst mech Iech drun erënneren datt Java entwéckelt gouf am Kapp Write Once Run Anywhere/Anytime (WORA) heescht fir sécherzestellen datt d'Applikatioun entwéckelt soll architektonesch neutral, Plattformonofhängeg a portabel sinn.

Aarbecht vun Java

Dës Ziler am Kapp ze hunn Java gouf mam ënnen Aarbechtsmodell entwéckelt deen a véier Etappe klasséiert ka ginn.

Schreift d'Quelldatei. Dëse Fichier enthält all Prozedur, Method, Klass an Objete bannent etabléierte Protokoll fir Java Programméiersprooch. Den Numm vun der Quelldatei soll den Numm vun der Klass sinn oder vice-versa. De Quell Dateinumm muss Extensioun .java hunn. Och den Dateinumm an de Klassennumm si ka-sensibel.

Run der Java Source Code Datei duerch Java Compiler. Java Source Code Compiler kontrolléiert fir Feeler a Syntax an der Quelldatei. Et léisst Iech net Äre Quellcode kompiléieren ouni de Java Compiler ze erfëllen andeems Dir all Feeler a Warnung fixéiert.

Compiler erstellt Classfile. Dës Klassdatei ierwen dee selwechten Numm wéi de Quellcode Dateinumm, awer d'Extensioun variéiert. De Quell Dateinumm huet Extensioun Dateiname.java, wou d'Extensioun vun der Klassdatei erstallt vum Compiler Dateiname.class ass. Dës Klassdatei ass an Bytecode kodéiert - Bytecodes si wéi Magie.

Dës Klassdatei erstallt vum Java Compiler ass portabel an architektonesch neutral. Dir kënnt dës Klassdatei portéieren fir op all Prozessorarchitektur a Plattform/Apparat ze lafen. Alles wat Dir braucht ass eng Java Virtual Machine (JVM) fir dëse Code ze lafen egal wou.

Verstinn elo déi uewe véier Etappe mat engem Beispill. Hei ass e klenge Beispill Java Programm Code. Maacht Iech keng Suergen wann Dir de Code hei ënnen net versteet. Bis elo just verstoen wéi et funktionnéiert.

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

1. Ech geschriwwen dësem Programm an definéiert Klass Numm MyFirstProgram. Et ass wichteg ze bemierken datt dëse Programm als MyFirstProgram.java gespäichert muss ginn.

Denkt un d'Etapp 1 uewen - De Klassennumm an den Dateinumm mussen d'selwecht sinn an den Dateinumm muss Extensioun .java hunn. Och Java ass case-sensibel dofir, wann Äre Klassennumm 'MyFirstProgram' ass, muss Äre Quell Dateinumm 'MyFirstProgram.java' sinn.

Dir kënnt et net als 'Myfirstprogram.java' oder 'myfirstprogram.java' oder soss eppes nennen. Duerch Konventioun ass et eng gutt Iddi Är Klass ze nennen baséiert op wat de Programm tatsächlech mécht.

2. Fir dës Java Source Datei ze kompiléieren, musst Dir et duerch Java Compiler passéieren. Java Compiler wäert am Wesentlechen de Quellcode fir all Feeler a Warnung iwwerpréiwen. Et wäert de Quellcode net kompiléieren bis all d'Problemer geléist sinn. Fir Java Quellcode ze kompiléieren, musst Dir lafen:

$ javac MyFirstProgram.java

Wou MyFirstProgram.java den Numm vun der Quelldatei ass.

3. Bei erfollegräicher Kompiléierung mierkt Dir datt de Java Compiler eng nei Datei am selwechte Verzeechnes erstallt huet, deen den Numm MyFirstProgram.class ass.

Dës Klassdatei ass a Bytecodes kodéiert a kann op all Plattform lafen, all Prozessorarchitektur zu all Zäit. Dir kënnt d'Klassdatei bannent JVM (Java Virtual Machine) op Linux oder all aner Plattform lafen einfach wéi:

$ java MyFirstProgram

Also alles wat Dir hei uewen geléiert hutt kann zesummegefaasst ginn als:

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

Code Struktur am Java verstoen

1. Java Quelltext Fichier muss eng Klass Definitioun enthält. Eng Java Source Datei kann nëmmen eng ëffentlech Klass/Top-Level Klass enthalen awer et kann vill privat Klass/Innere Klass enthalen.

Déi baussenzeg Klass/Top Klass/ëffentlech Klass kann Zougang zu all privat Klass/banneschten Klass. D'Klass muss bannent Curly Klameren sinn. Alles am Java ass en Objet an d'Klass ass e Blueprint fir Objet.

Eng Demo vun der ëffentlecher/privater Klass am Java:

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

	private class 2
	{
	…
	}
...
}

2. Klass enthalen een oder méi Methoden. Method muss bannent de Curly Klammeren vun der Klass goen. En Dummy Beispill ass:

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

3. Eng Method enthält eng oder méi Ausso/Uweisunge. D'Instruktioun(e) musse bannent de Curly Klammern vun der Method goen. En Dummy Beispill ass:

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");
	…
	...
	}
}

Och wichteg op dësem Punkt ze ernimmen - All Ausso muss mat Semikolon ophalen. En Dummy Beispill ass:

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

Schreift Ären éischte Java Programm mat detailléierter Beschreiwung. D'Beschreiwung gëtt als Kommentarer hei gesat (// heescht kommentéiert) an dësem Beispill. Dir sollt Kommentare bannent engem Programm schreiwen.

Net nëmme well dëst eng gutt Gewunnecht ass, awer och well et de Code liesbar vun Iech oder soss soss zu all Moment méi spéit mécht.

// 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
}

Eng detailléiert technesch Beschreiwung vun der uewen einfach Java Programm.

public class MyProg

Hei am uewe genannte Numm vun der Klass ass MyProg a MyProg ass eng Ëffentlech Klass, wat heescht datt jidderee Zougang kann.

public static void main(String[] args)

Hei ass de Methodnumm Main wat eng ëffentlech Method ass, heescht datt et vu jidderengem zougänglech ass. De Retourtyp ass ongëlteg dat heescht kee Retourwäert. Strings[] args heescht datt d'Argumenter fir d'Method Main Array solle sinn, déi args genannt gëtt. Maacht Iech keng Suergen iwwer d'Bedeitung vun 'statesch' wéi elo. Mir wäerten am Detail doriwwer beschreiwen wann néideg.

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

System.out.ln frot JVM fir d'Ausgab op Standardausgang ze drécken, wat Linux Kommandozeil an eisem Fall ass. Alles wat tëscht Klamere vun der println Ausso ass gëtt gedréckt wéi et ass, ausser et ass eng Variabel. Mir wäerte spéider an Detailer vun Variabel ginn. D'Ausso endet mat Semikolon.

Och wann eppes net kloer ass elo musst Dir Iech keng Suergen doriwwer maachen. Och Dir braucht näischt Erënnerungen. Gitt einfach duerch de Post a versteet Terminologien a funktionnéiert och wann d'Bild net ganz kloer ass.

Dat ass alles fir elo. Bleift verbonne mat Tecmint. Gitt eis Äre wäertvolle Feedback an de Kommentaren hei drënner. Mir schaffen un den nächsten Deel \Klass an Haaptmethod am Java\ a wäerte geschwënn publizéiert ginn.