Java
Προήλθε από τη C και της μοιάζει αρκετά στη δομή της
Είναι γλώσσα νέα, σχετικά, με κύρια χαρακτηριστικά:
-
κατάλληλη για το web
-
‘τρέχει’ παντού, σε οποιαδήποτε οικογένεια επεξεργαστών και Λ.Σ.
-
αντικειμενοστραφής
-
γεγονοστραφής
Εκτέλεση προγραμμάτων σε Java
Τρέχει παντού, λόγω του JVM (Java Virtual Machine) το οποίο υπάρχει σχεδόν για οποιαδήποτε πλατφόρμα. Το JVM είναι ένα ενδιάμεσο επίπεδο του λειτουργικού μας συστήματος που ουσιαστικά εκτελεί τον κώδικα. Άρα για να τρέξει java ένα μηχάνημα πρέπει να έχει εγκατεστημένο το JVM ή αλλιώς και JRE (Java Runtime Enviroment).
Μέχρι εδώ τρέχουμε Java προγράμματα στον υπολογιστή μας.
Για να δούμε εάν και ποιά έκδοση της Java έχουμε εγκατεστημένη στον υπολογιστή μας αρκεί να γράψουμε σε γραμμή εντολών (Start ή Έναρξη > Run ή εκτέλεση > cmd > ENTER):
java -version
Δημιουργία προγραμμάτων σε Java από τη γραμμή εντολών
Για να δημιουργήσουμε τα δικά μας προγράμματα πρέπει να εγκαταστήσουμε το Java Development Kit (JDK) και συνήθως την έκδοση SE (Standard Edition) την οποία κατεβάζουμε από την σχετική ιστοσελίδα της ORACLE.
Βήματα δημιουργίας κώδικα:
-
Με έναν επεξεργαστή κειμένου γράφουμε τον κώδικα με εντολές της java. Αποθηκεύουμε το αρχείο με κατάληξη .java (άρα τα .java αρχεία είναι αρχεία απλού κειμένου ή αλλιώς πηγαίου κώδικα ή source code).
-
Με το πρόγραμμα javac.exe που είναι ο compiler της Java και εφόσον δεν υπάρχουν συντακτικά λάθη, το πρόγραμμά μας μεταγλωττίζεται σε αρχείο της μορφής .class το οποίο πλέον δεν είναι απλό αρχείο κειμένου αλλά της μορφής Java Byte Code και το οποίο τρέχει μέσα από το JRE.
-
Εκτελούμε το αρχείο .class μέσω του προγράμματος java.exe
Για παράδειγμα, έστω ότι έχουμε δημιουργήσει το 1ο μας πρόγραμμα με όνομα tryjaving.java το οποίο βρίσκεται μέσα στον φάκελο C:\nikosjava.
Τα προγράμματα javac.exe και java.exe που πρέπει να χρησιμοποιήσω, την ώρα που έγραφα το παρόν κείμενο, βρίσκονται στον δικό μου παλιό ΗΥ (με Win XP) στον φάκελο:
C:\Program Files\Java\jdk1.7.0_45\bin
Άρα από τη γραμμή εντολών πηγαίνω στον φάκελο C:\nikosjava όπου εκεί βρίσκεται το αρχείο μου
tryjaving.java.
Για να το συμβολομεταφράσω από τη γραμμή εντολών, γράφω:
C:\Program Files\Java\jdk1.7.0_45\bin\javac tryjaving.java
και στη συνέχεια για να το εκτελέσω πρέπει να γράψω:
C:\Program Files\Java\jdk1.7.0_45\bin\java tryjaving
Καλά! Θα μου πείτε, κάθε φορά πρέπει να γράφω όλο το μακρινάρι για το πού βρίσκονται τα javac.exe και java.exe για να τρέξω κάθε πρόγραμμά μου;
ΕΥΤΥΧΩΣ υπάρχει τρόπος να πω στον ΗΥ που θα βρει τα απαραίτητα προγράμματα javac και java ώστε να μην χρειάζεται να δίνω κάθε φορά την πλήρη διαδρομή του φακέλου στον οποία τοποθετήθηκαν όταν εγκαταστήσαμε το JDK της Java. Για να το κάνω θα πρέπει να πειράξω την μεταβλητή συστήματος PATH των Windows. Στη συνέχεια περιγράφω την διαδικασία για τα Windows XP:
Έναρξη > Πίνακας Ελέγχου > Σύστημα > Για προχωρημένους > Μεταβλητές περιβάλλοντος > στην περιοχή ‘Μεταβλητές’ επιλέγω τη μεταβλητή ‘Path‘ και κάνω κλικ στο ‘Επεξεργασία’ > Στο νέο παράθυρο “Επεξεργασία μεταβλητής συστήματος” εισάγω στην αρχή του πεδίου “Τιμή μεταβλητής:” το εξής:
C:\Program Files\Java\jdk1.7.0_45\bin;
Προσοχή να βάλετε στο τέλος το “;” και προφανώς τον σωστό κατάλογο από το jdk. Ήδη όταν θα διαβάζετε το κείμενο θα έχει βγει νέο jdk της java και άρα θα έχει αλλάξει και ο κατάλογος εγκατάστασης. Θα πρέπει να βάλετε τον ΤΡΕΧΩΝ φάκελο που έχετε στον ΗΥ σας και όχι τον ‘…\jdk1.7.0_45\….’
Κάντε μία επανεκκίνηση τον ΗΥ σας και αν όλα έγιναν ΟΚ τότε για το παραπάνω παράδειγμα συμβολομετάφρασης και εκτέλεσης του προγράμματος tryjaving.java αρκεί πλέον να γράψετε:
javac tryjaving.java
java tryjaving
ΟΚ; 🙂
Σημείωση 1: Για να βρείτε οδηγίες ώστε να ορίσετε σωστά το PATH και το CLASSPATH για οποιοδήποτε λειτουργικό σύστημα κάντε κλικ στο;
http://docs.oracle.com/javase/tutorial/essential/environment/paths.html
Για την περίπτωση που θέλουμε να χρησιμοποιήσουμε τη βιβλιοθήκη acm τότε π.χ. για να εκτελέσουμε το πρόγραμμα HelloWorld.java (αφού έχουμε αντιγράψει μέσα στον φάκελο το αρχείο acm.jar) εκτελούμε τις εντολές:
-
javac -classpath acm.jar HelloWorld.java
από το οποίο παράγεται το αρχείο HelloWorld.class
-
java -cp .;acm.jar HelloWorld
Σημείωση 2: Για να μην αντιγράφουμε κάθε φορά το αρχείο acm.jar στον φάκελο κάθε αρχείου .java που δημιουργούμε (το οποίο χρειάζεται για να κάνουμε import τις απαιτούμενες βιβλιοθήκες) αρκεί να αντιγράψουμε το acm.jar στον φάκελο /bin της java τον οποίο προσθέσαμε στο path της Σημ.1.
Notepad++ και Java
-
Εγκαθιστώ το Notepad++
-
Εγκαθιστώ το πρόσθετο NppExec
-
Πατώ F6
-
στο παράθυρο που εμφανίζεται γράφω:
-
cd $(CURRENT_DIRECTORY)
javac $(FILE_NAME)
java $(NAME_PART)
Αν θέλω να χρησιμοποιήσω και τη βιβλιοθήκη acm τότε γράφω τα εξής:
cd $(CURRENT_DIRECTORY)
javac -cp acm.jar $(FILE_NAME)
java -cp .;acm.jar $(NAME_PART)
-
Το αποθηκεύω π.χ. με όνομα “java_Comp_&_Run”
Από εδώ και πέρα μπορώ να τρέχω τις εντολές javac και java κατευθείαν αν πατήσω F6 (εμφανίζεται το παράθυρο Execute του NppExec) και επιλέξω το script “java_Comp_&_Run” που δημιούργησα πιο πριν.
Σημείωση: μπορώ να επιταχύνω ακόμη περισσότερο τη διαδικασία μετατρέποντας το script σε Μακροεντολή και αντιστοιχώντας κάποια συντόμευση πληκτρολογίου ως εξής:
-
Πρόσθετα > NppExec > AdvancedOptions
-
Ανοίγει το παράθυρο “NppExecAdvanced Options”
-
Στο μενού “Associated script:” επιλέγω το script που δημιούργησα (π.χ. το java_Comp_&_Run) και δίνω ένα νέο όνομα ή αφήνω το ίδιο στο πεδίο ‘Item name‘
-
Πατώ το κουμπί ‘Add/Modify’
-
Εμφανίζεται μια προτροπή για επανεκκίνηση του Notepad++ στην οποία και συμφωνούμε.
-
Ανοίγουμε ξανά το Notepad++ και πλέον μπορώ να επιλέξω πλέον το script μου κατευθείαν από το μενού ‘Μακροεντολή‘!
-
Για να του αναθέσω και μια συντόμευση πληκτρολογίου:
-
Μακροεντολή > Αλλαγή συντόμευσης/ Διαγραφή μακροεντολής
-
βρίσκω το script στην καρτέλα ‘Plugin commands‘ με το όνομα που του έδωσα και το συνδέω με μία συντόμευση πληκτρολογίου π.χ. CTRL+0
-