Page 93 - Linux Inside τ. 8

Basic HTML Version

Linux Inside
93
των τιμών των ιδιοτήτων, την επιτρεπόμενη προσπέλαση ιδιο-
τήτων και μεθόδων, την κληρονομικότητα και πολλά άλλα.
Κατά τη σύνταξη κώδικα Java πρέπει να έχουμε κατά νου
λίγες βασικές αρχές. H Java είναι case-sensitive γλώσσα,
οπότε οι πεζοί είναι διαφορετικοί από τους κεφαλαίους χαρα-
κτήρες. Το πρόγραμμα αποτελείται από δηλώσεις. Κάθε δή-
λωση ολοκληρώνεται με το χαρακτήρα semicolon (;) και μπο-
ρεί να καταλαμβάνει περισσότερες γραμμές. Η χρήση δια-
στημάτων, tab και αλλαγών γραμμής είναι ελεύθερη, αρκεί να
μη χωρίζονται στη μέση ονόματα.
Για παράδειγμα, η δήλωση...
System.out.println("Γεια σου Java!!!");
...ισοδυναμεί με τη δήλωση...
System.out
.println("Γεια σου Java!!!");
...ισοδυναμεί με τη δήλωση...
System.out.println("Γεια“
+ “ σου Java!!!");
...αλλά ΟΧΙ με τη ΛΑΘΟΣ δήλωση...
System.out.print
ln("Γεια σου Java!!!");
...ΟΥΤΕ με τη ΛΑΘΟΣ δήλωση...
System.out.println("Γεια
σου Java!!!");
Το κυρίως πρόγραμμα είναι και αυτό ένα αντικείμενο. Στο
παράδειγμά μας περιγράφεται από την κλάση (class) Disco-
theque. Αυτή διαθέτει δύο ιδιότητες, έναν πίνακα συμβολοσει-
ρών (syskeves) και έναν χειριστή αρχείου (ArxeioExodou).
Έχει, επιπλέον, τέσσερις μεθόδους (main, KatagrafiDiadro-
mis, FakeloiThesis, AntikAnafOntotiton). Η εκτέλεση του κώδι-
κα ξεκινά από τη μέθοδο main. Μολονότι ο κώδικας δεν δια-
θέτει πολλές κλάσεις, ενσωματώνουμε τη μία κλάση σε ένα
ομώνυμο πακέτο (package), καθώς απαιτείται από το Eclipse.
Στην αρχή δηλώνουμε και τις βιβλιοθήκες έτοιμων λειτουρ-
γιών που χρησιμοποιούμε (import).
Ο πίνακας syskeves γεμίζει μέσα από τη μέθοδο Fakeloi
Thesis με τα ονόματα των συσκευών που έχουν προσαρτηθεί
στη θέση /media. Τα περιεχόμενά του προβάλλονται στην
οθόνη και ο χρήστης επιλέγει τον αριθμό συσκευής (φακέ-
λου) που επιθυμεί. Τότε δημιουργείται και ανοίγει για εγγρα-
φή ένα αρχείο κειμένου και καλείται η μέθοδος KatagrafiDia-
dromis, η οποία καταγράφει τα περιεχόμενα του φακέλου και
των υποφακέλων του αναδρομικά (δηλαδή καλώντας και η
ίδια για κάθε υποφάκελο τον εαυτό της), με τη μορφή στοιχεί-
ων XML. Το συντακτικό της XML απαιτεί ορισμένοι χαρακτή-
ρες, όπως ο ampersand (&), να γράφονται με αναφορές
οντοτήτων (δηλαδή ως &). Αυτό διευθετείται από τη μέ-
θοδο AntikAnafOntotiton, την οποία χρησιμοποιούμε για κάθε
όνομα αρχείου ή φακέλου. Εκεί η παράμετρος εισόδου αντι-
γράφεται σε μία νέα συμβολοσειρά, αντικαθιστώντας, όπου
απαιτείται, χαρακτήρες με αναφορές οντοτήτων.
Σχετικά με το συντακτικό της γλώσσας, επισημαίνουμε το
μηχανισμό πρόσβασης σε στοιχείο πίνακα. Το όνομα, π.χ.,
syskeves[0] σημαίνει το 1ο στοιχείο του πίνακα syskeves. Επί-
σης, το μηχανισμό πρόσβασης σε μέλος κλάσης. Το όνομα,
π.χ., System.out.println() σημαίνει ότι απευθυνόμαστε στη μέ-
θοδο println(), η οποία είναι μέλος του αντικειμένου out, που
είναι μέλος του αντικειμένου System.
Ως προς τη δομή του κώδικα πρέπει να επισημάνουμε ότι
οι εντολές του παραδείγματός μας εκτελούνται είτε ακολου-
θιακά (η μία μετά την άλλη), είτε επαναληπτικά για γνωστό
πλήθος επαναλήψεων με βάση την τιμή ενός μετρητή (for), εί-
τε επιλεκτικά βάσει συνθήκης (if) ή τιμών μεταβλητής (switch).
Δημιουργία διανομής για εκτέλεση σε άλλα συστήματα
Για να εκτελέσουμε το πρόγραμμα εκτός Eclipse, σε γραμ-
μή εντολών, θα πρέπει να το εξαγάγουμε ως αρχείο .jar. Τα
αρχεία JAR (Java Archive, Αρχειοθέτηση Java) είναι η τυπική
μορφή διανομής εφαρμογών Java.
Κάνουμε δεξί κλικ στο πακέτο Discotheque, επιλέγουμε
Export..., Java, Runnable JAR file και πατάμε Next. Στην επό-
μενη καρτέλα αρκεί να επιλέξουμε στο Launch configuration
το Discotheque από τη λίστα και στο Export destination να
δώσουμε τη θέση και το όνομα του αρχείου .jar (έστω
/home/user/Discotheque.jar). Στο Library handling επιλέγουμε
Package required libraries into generated JAR και πατάμε το
Finish. Κατόπιν, δίνουμε τις επόμενες εντολές σε μία γραμμή
εντολών, ώστε να μετατρέψουμε το αρχείο .jar σε εκτελέσιμο
και να το εκτελέσουμε.
chmod u+x Discotheque.jar
./Discotheque.jar
Εναλλακτικά, μπορούμε να εκτελέσουμε το πρόγραμμα
από το .jar αρχείο χωρίς να το μετατρέψουμε σε εκτελέσιμο,
χρησιμοποιώντας το JVM.
java -classpath Discotheque.jar Discotheque.Discotheque
Linux Labs - Java
Σύνδεσμοι
[1] Μαθήματα Java: http://docs.oracle.com/javase/tutorial
[2] Οι 10 κορυφαίες γλώσσες προγραμματισμού:
http://spectrum.ieee.org/at-work/tech-careers/the-top-10-
programming-languages
[3] Εκπαίδευση στην επιστήμη υπολογιστών τον 21ο αιώνα:
http://goo.gl/5UKc8
[4] Εγκατάσταση Java σε Ubuntu:
https://help.ubuntu.com/community/Java
[5] Λήψη του Eclipse:
http://www.eclipse.org/downloads/
Επί τόπου βοήθεια συνάρτησης.
3
Αυτόματη συμπλήρωση.
4