Πώς λειτουργεί η Java και Κατανόηση της Δομής Κώδικα της Java - Μέρος 2


Στην τελευταία μας ανάρτηση «Τι είναι η Java και η ιστορία της Java» είχαμε καλύψει Τι είναι η Java, λεπτομέρειες της Java, το ιστορικό κυκλοφορίας και την ονομασία της, καθώς και μέρη όπου χρησιμοποιείται η Java.

Εδώ σε αυτήν την ανάρτηση θα εξετάσουμε τη δομή εργασίας και κώδικα της γλώσσας προγραμματισμού Java. Πριν προχωρήσουμε, επιτρέψτε μου να σας υπενθυμίσω ότι η Java αναπτύχθηκε λαμβάνοντας υπόψη το "Write Once Run Anywhere/Anytime (WORA)" σημαίνει ότι η εφαρμογή που έχει αναπτυχθεί θα πρέπει να είναι αρχιτεκτονικά ουδέτερη, ανεξάρτητη από την πλατφόρμα και φορητή.

Λειτουργία Java

Έχοντας αυτούς τους στόχους κατά νου, η Java αναπτύχθηκε με το παρακάτω μοντέλο εργασίας, το οποίο μπορεί να ταξινομηθεί σε τέσσερα στάδια.

Στάδιο 1

Γράψτε το αρχείο προέλευσης. Αυτό το αρχείο περιέχει όλη τη διαδικασία, τη μέθοδο, την κλάση και τα αντικείμενα μέσα στο καθιερωμένο πρωτόκολλο για τη γλώσσα προγραμματισμού Java. Το όνομα του αρχείου προέλευσης πρέπει να είναι το όνομα της κλάσης ή το αντίστροφο. Το όνομα του αρχείου προέλευσης πρέπει να έχει επέκταση .java. Επίσης, το όνομα αρχείου και το όνομα της τάξης κάνουν διάκριση πεζών-κεφαλαίων.

Στάδιο 2

Εκτελέστε το αρχείο πηγαίου κώδικα Java μέσω του Java Compiler. Java Source code Ο μεταγλωττιστής ελέγχει για σφάλματα και σύνταξη στο αρχείο προέλευσης. Δεν θα σας επιτρέψει να μεταγλωττίσετε τον πηγαίο κώδικα χωρίς να ικανοποιήσετε τον μεταγλωττιστή Java διορθώνοντας όλα τα σφάλματα και προειδοποιώντας.

Στάδιο 3

Ο μεταγλωττιστής δημιουργεί ένα αρχείο κλάσης. Αυτά τα αρχεία κλάσης κληρονομούν το ίδιο όνομα με το όνομα του αρχείου πηγαίου κώδικα, αλλά η επέκταση ποικίλλει. Το όνομα αρχείου Source έχει επέκταση 'filename.java', όπου ως επέκταση του classfile που δημιουργήθηκε από τον μεταγλωττιστή είναι 'filename.class'. Αυτό το αρχείο κλάσης κωδικοποιείται σε bytecode – οι bytecode είναι σαν μαγικοί.

Στάδιο 4

Αυτό το αρχείο κλάσης που δημιουργήθηκε από τον Java Compiler είναι φορητό και αρχιτεκτονικά ουδέτερο. Μπορείτε να μεταφέρετε αυτό το αρχείο κλάσης για εκτέλεση σε οποιαδήποτε αρχιτεκτονική επεξεργαστή και πλατφόρμα/συσκευή. Το μόνο που χρειάζεστε είναι μια εικονική μηχανή Java (JVM) για να εκτελέσετε αυτόν τον κώδικα όπου κι αν είναι.

Τώρα κατανοήστε τα παραπάνω τέσσερα στάδια χρησιμοποιώντας ένα παράδειγμα. Εδώ είναι ένα μικρό δείγμα κώδικα προγράμματος Java. Μην ανησυχείτε αν δεν καταλαβαίνετε τον παρακάτω κώδικα. Από τώρα, απλά καταλάβετε πώς λειτουργεί.

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

1. Έγραψα αυτό το πρόγραμμα και όρισα το όνομα της τάξης MyFirstProgram. Είναι σημαντικό να παρατηρήσετε ότι αυτό το πρόγραμμα πρέπει να αποθηκευτεί ως 'MyFirstProgram.java'.

Θυμηθείτε το στάδιο 1 παραπάνω – Το όνομα της τάξης και το όνομα αρχείου πρέπει να είναι ίδια και το όνομα αρχείου πρέπει να έχει επέκταση .java. Επίσης, η java κάνει διάκριση πεζών-κεφαλαίων, επομένως εάν το όνομα της τάξης σας είναι "MyFirstProgram", το όνομα του αρχείου προέλευσης πρέπει να είναι "MyFirstProgram.java".

Δεν μπορείτε να το ονομάσετε ως "Myfirstprogram.java" ή "myfirstprogram.java" ή οτιδήποτε άλλο. Κατά σύμβαση, είναι καλή ιδέα να ονομάσετε την τάξη σας με βάση το τι κάνει πραγματικά το πρόγραμμα.

2. Για να μεταγλωττίσετε αυτό το αρχείο Java Source, πρέπει να το περάσετε μέσω του μεταγλωττιστή Java. Ο μεταγλωττιστής Java θα ελέγξει ουσιαστικά τον πηγαίο κώδικα για τυχόν σφάλματα και προειδοποίηση. Δεν θα μεταγλωττίσει τον πηγαίο κώδικα μέχρι να λυθούν όλα τα ζητήματα. Για να μεταγλωττίσετε τον πηγαίο κώδικα java, πρέπει να εκτελέσετε:

javac MyFirstProgram.java

Όπου MyFirstProgram.java είναι το όνομα του αρχείου προέλευσης.

3. Κατά την επιτυχή μεταγλώττιση θα παρατηρήσετε ότι ο μεταγλωττιστής Java δημιούργησε ένα νέο αρχείο στον ίδιο κατάλογο, το όνομα του οποίου είναι MyFirstProgram.class.

Αυτό το αρχείο κλάσης είναι κωδικοποιημένο σε bytecode και μπορεί να εκτελεστεί σε οποιαδήποτε πλατφόρμα, οποιαδήποτε αρχιτεκτονική επεξεργαστή οποιονδήποτε χρόνο. Μπορείτε να εκτελέσετε το αρχείο κλάσης μέσα στο JVM (Java Virtual Machine) σε Linux ή σε οποιαδήποτε άλλη πλατφόρμα απλά ως εξής:

java MyFirstProgram

Έτσι όλα όσα μάθατε παραπάνω μπορούν να συνοψιστούν ως εξής:

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

Κατανόηση της δομής κώδικα σε Java

1. Το αρχείο πηγαίου κώδικα Java πρέπει να περιέχει έναν ορισμό κλάσης. Ένα αρχείο προέλευσης Java μπορεί να περιέχει μόνο μία δημόσια κλάση/κλάση ανώτατου επιπέδου, ωστόσο μπορεί να περιέχει πολλές ιδιωτικές κλάσεις/εσωτερική κλάση.

Η εξωτερική τάξη/ανώτατη τάξη/δημόσια τάξη μπορεί να έχει πρόσβαση σε όλες τις ιδιωτικές/εσωτερικές τάξεις. Η τάξη πρέπει να βρίσκεται μέσα σε σγουρά σιδεράκια. Τα πάντα στη Java είναι ένα αντικείμενο και η κλάση είναι ένα προσχέδιο για το αντικείμενο.

Μια επίδειξη δημόσιας/ιδιωτικής τάξης σε Java:

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

	private class 2
	{
	…
	}
...
}

2. Η τάξη περιέχει μία ή περισσότερες μεθόδους. Η μέθοδος πρέπει να είναι μέσα στα σγουρά τιράντες της τάξης. Ένα εικονικό παράδειγμα είναι:

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

3. Μια μέθοδος περιέχει μία ή περισσότερες δηλώσεις/εντολές. Οι οδηγίες πρέπει να εμπίπτουν στα σγουρά στηρίγματα της μεθόδου. Ένα εικονικό παράδειγμα είναι:

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

Επίσης σημαντικό να αναφέρουμε σε αυτό το σημείο - Κάθε δήλωση πρέπει να τελειώνει με ερωτηματικό. Ένα εικονικό παράδειγμα είναι:

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

Γράψτε το πρώτο σας πρόγραμμα Java με λεπτομερή περιγραφή. Η περιγραφή τίθεται ως σχόλια εδώ (// σημαίνει σχολιάστηκε) σε αυτό το παράδειγμα. Θα πρέπει να γράφετε σχόλια σε ένα πρόγραμμα.

Όχι μόνο επειδή αυτή είναι μια καλή συνήθεια αλλά και επειδή κάνει τον κώδικα αναγνώσιμο από εσάς ή οποιονδήποτε άλλο οποιαδήποτε στιγμή αργότερα.

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

Λεπτομερής τεχνική περιγραφή του παραπάνω απλού προγράμματος Java.

public class MyProg

Εδώ στο παραπάνω όνομα της κλάσης είναι MyProg και το MyProg είναι μια δημόσια κλάση που σημαίνει ότι όλοι μπορούν να έχουν πρόσβαση σε αυτήν.

public static void main(String[] args)

Εδώ το όνομα της μεθόδου είναι main που είναι μια δημόσια μέθοδος, σημαίνει ότι μπορεί να έχει πρόσβαση οποιοσδήποτε. Ο τύπος επιστροφής είναι άκυρος που σημαίνει ότι δεν επιστρέφεται τιμή. 'Strings[] args' σημαίνει ότι τα ορίσματα για τη μέθοδο main θα πρέπει να είναι πίνακας που θα ονομάζεται args. Μην ανησυχείτε για την έννοια του «στατικού» από τώρα. Θα το περιγράψουμε λεπτομερώς όταν χρειαστεί.

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

System.out.ln ζητήστε από την JVM να εκτυπώσει την έξοδο σε τυπική έξοδο που είναι η Γραμμή εντολών Linux στην περίπτωσή μας. Οτιδήποτε βρίσκεται ανάμεσα σε αγκύλες της πρότασης println τυπώνεται ως έχει, εκτός εάν πρόκειται για μεταβλητή. Θα μπούμε σε λεπτομέρειες για τη μεταβλητή αργότερα. Η δήλωση τελειώνει με ερωτηματικό.

Ακόμα κι αν κάτι δεν είναι ξεκάθαρο τώρα, δεν χρειάζεται να ανησυχείτε για αυτό. Επίσης δεν χρειάζεται να θυμάστε τίποτα. Απλώς περάστε από τη δημοσίευση και κατανοήστε τις ορολογίες και την εργασία ακόμα και όταν η εικόνα δεν είναι πολύ καθαρή.

Αυτα για τωρα. Μείνετε συνδεδεμένοι στο Tecmint. Δώστε μας τα πολύτιμα σχόλιά σας στα παρακάτω σχόλια. Εργαζόμαστε στο επόμενο μέρος "κλάση και κύρια μέθοδος σε Java "και θα δημοσιευτεί σύντομα.