BETA

Μαθαίνοντας την Java-Ονομασία Μεταβλητών [μάθημα 5]

Εικόνα Michail

Συνεχίζουμε τα μαθήματα εκμάθησης της Java, έχοντας ήδη κάνει το πρώτο εισαγωγικό μάθημα και έχοντας δει,πως μπορουμε να εγκαταστήσουμε το NetBeans, προκειμένου να δημιουργήσουμε τις εφαρμογές μας και στη συνεχεια δημιουργώντας την πρωτη μας εφαρμογή.
Έχοντας δει κιόλας, σχετικά με τα LANGUAGE FUNDAMENTALS, συνεχίζουμε με το 5ο μαθημα της σειράς.
[box color=blue]Σε αυτή την φάση για τα εκπαιδευτικά μαθήματα χρησιμοποιούμε το λειτουργικό σύστημα Windows, μα οι διαφορές είναι ελάχιστες, ως μηδαμινές και στα υπόλοιπα λειτουργικά[/box]
Από το σημερινό μάθημα αρχίζουμε την ανάλυση των βασικών εννοιών (Language Basics) του προγραμματισμού σε java όπως παρουσιάζονται στο online tutorial της Oracle.

-Σκοπός μας είναι η ολοκληρωτική ανάπτυξη μαθημάτων βασιζόμενοι στην σειρά παρουσίασης της θεωρίας και των παραδειγμάτων όπως αναλύονται στο πρώτο επίπεδο προγραμματισμού σε java από την Oracle.
Ας ξεκινήσουμε λοιπόν από το πιο βασικό στοιχείο που υπάρχει σε κάθε γλώσσα προγραμματισμού που είναι ο ορισμός της μεταβλητής και η σωστή τοποθέτησή της όσο και η χρήσης της μέσα σε ένα πρόγραμμα java:

Μια μεταβλητή (variable) είναι ένας αντιπρόσωπος κάποιου σημείου της μνήμης του υπολογιστή μας στον οποίο έχουμε την δυνατότητα να δώσουμε όνομα (το όνομα της μεταβλητής) και στην συνέχεια να αποθηκεύσουμε προσωρινά κάποιο αριθμό ή χαρακτήρα (η τιμή με την οποία ισούται η μεταβλητή).

Κάθε μεταβλητή περιορίζεται στην αποθήκευση αποκλειστικά και μόνο σε ένα είδος αριθμών ή χαρακτήρων όπως π.χ μόνο ακεραίους ή μόνο δεκαδικούς.
Αυτός ο περιορισμός δίνει την δυνατότητα στον compiler να μπορεί να ελέγχει την ορθότητα της χρήσης της μεταβλητής μέσα στο πρόγραμμα μας.
Ας μην ξεχνάμε ότι η τιμή με την οποία ισούται η μεταβλητή θα χρησιμοποιηθεί σαν πληροφορία σε κάποια επεξεργασία και ανάλυση δεδομένων.
Για παράδειγμα, εάν μια σειρά από απλές αριθμητικές πράξεις ανάμεσα σε απλούς αλγόριθμους δέχονται μόνο ακέραιους αριθμούς, είναι πολύ εύκολο για τον compiler να ελέγξει αν όντως οι μεταβλητές που συμμετέχουν σε αυτή την διαδικασία ισούνται με το σωστό είδος αριθμών.

Πριν όμως προχωρήσουμε σε οποιαδήποτε ανάλυση όσο αφορά το είδος των δεδομένων στα οποία μπορεί να αναφέρεται μια μεταβλητή, πρέπει να ορίσουμε το όνομα της με βάση τους κανόνες που ορίζει η γλώσσα προγραμματισμού java.

Το όνομα το οποίο διαλέγουμε να δώσουμε σε μια μεταβλητή (και όχι μόνο) ονομάζεται identifier. Βασικά το όνομα που δίνουμε σε κάθε καινούργιο στοιχείο όταν το δημιουργούμε είναι ένας identifier.
Για παράδειγμα, εάν θέλω να δημιουργήσω μια μεταβλητή η οποία θα χρησιμοποιηθεί, κατά την διάρκεια εκτέλεσης ενός προγράμματος, να αποθηκεύσει τον μισθό ενός εργαζόμενου, θα μπορούσα να την ονομάσω salary. Το salary για το πρόγραμμα είναι μια μεταβλητή (variable) και το όνομα το οποίο δώσαμε σε αυτή είναι ένας identifier.

Το όνομα μιας μεταβλητής μπορεί να αποτελείται από οποιοδήποτε αριθμό χαρακτήρων και συμβόλων, με τον πρώτο χαρακτήρα όμως να επιτρέπεται να είναι είτε αλφαβητικός, είτε το σύμβολο underscore ( _ ), ή το σύμβολο του δολαρίου ($).
Το προτιμότερο όμως θα ήταν να χρησιμοποιείτε μόνο αλφαβητικούς χαρακτήρες για το πρώτο στοιχείο του ονόματος της μεταβλητής μια και είναι γενικά αποδεκτό από την κοινότητα των προγραμματιστών τα υπόλοιπα σύμβολα να μην χρησιμοποιούνται. Μετά από το πρώτο χαρακτήρα μπορούμε να χρησιμοποιήσουμε και αριθμούς εκτός από σύμβολα όπως 1, 2, 3, όχι όμως αριθμητικά σύμβολα πράξεων όπως +, -, κτλ.

1employee // Λάθος

employee1 // Σωστό

Σε περίπτωση που θέλουμε να περιγράψουμε μια μεταβλητή χρησιμοποιώντας περισσότερες από μια λέξεις, τότε οι θα πρέπει οι λέξεις να μην έχουν κενό ανάμεσα τους γιατί το white space δεν επιτρέπεται στην ονομασία μεταβλητών.
Θα μπορούσαμε σαν εναλλακτική λύση να χρησιμοποιήσουμε το underscore ( _ ) ανάμεσα στις λέξεις, όμως όπως ήδη έχουμε αναφέρει αυτό είναι καλό να αποφεύγεται.
Σαν μόνη αποδεκτή λύση μας μένει να ενώσουμε τις λέξεις και απλώς να γράψουμε με κεφαλαία τους πρώτους αλφαβητικούς χαρακτήρες κάθε λέξης για να ξεχωρίζουν ανάμεσα τους.
Η κοινότητα των προγραμματιστών συνηθίζει να διατηρεί πεζά τα γράμματα της πρώτης λέξης και να κάνει κεφαλαία μόνο τα πρώτα στοιχεία από την δεύτερη λέξη και μετά.
Επίσης θα είναι καλύτερη προσέγγιση στην διαδικασία ονομασίας των μεταβλητών η στρατηγική να χρησιμοποιούνται ολόκληρες λέξεις αντί για συντετμημένες.

First Year // Λάθος, υπάρχει κενό ανάμεσα στις λέξεις

First_Year // Σωστό, αλλά μη συνηθισμένο και αποδεκτό

FirstYear // Σωστό, αλλά μη συνηθισμένο και αποδεκτό

FY //  Σωστό, αλλά μη συνηθισμένο και αποδεκτό

FirYe // Σωστό, αλλά μη συνηθισμένο και αποδεκτό

firstYear // Σωστό και αποδεκτό

Σε περίπτωση που αντί για μεταβλητή θέλουμε να ονομάσουμε μια σταθερά , ένα είδος μεταβλητής που όμως η τιμή της δεν μεταβάλλεται κατά την διάρκεια εκτέλεσης του προγράμματος, τότε συνηθίζεται να γράφουμε όλα τα γράμματα κεφαλαία για να ξεχωρίζει η ιδιαιτερότητα αυτής της μεταβλητής σε σχέση με τις υπόλοιπες στο πρόγραμμα. Εδώ θα βρείτε την μόνη αποδεκτή χρήση του συμβόλου underscore ( _ ).

NUMBER_OF_DAYS_WEEK // Σωστό και αποδεκτό

Ενώ μέχρι τώρα βλέπουμε μια σχετικά μεγάλη ευελιξία όσο αφορά την ονομασία των μεταβλητών, υπάρχουν ορισμένες λέξεις που η java έχει δεσμεύσει για ειδικούς ρόλους.
Η χρήση αυτών των λέξεων σαν ονόματα μεταβλητών θα σας παρουσιάσει προβλήματα κατά την διαδικασία του compilation γιατί έχουν δημιουργηθεί αποκλειστικά και μόνο για την εξυπηρέτηση κάποιου μοναδικού σκοπού η κάθε μία.
Σαν τελικό συμπέρασμα, αποφύγετε την χρήση των παρακάτω λέξεων σαν ονόματα μεταβλητών.

-Σαν τελική παρατήρηση θα ήθελα να αναφέρω ότι, κάθε γραμμή κώδικα Java που γράφουμε (συνήθως είναι σε ASCII) μετατρέπεται σε Unicode χαρακτήρες λίγο πριν την διαδικασία του compilation.
Το γεγονός ότι η Java μπορεί να υποστηρίξει Unicode μας δίνει μια μεγάλη ευελιξία όχι μόνο στον τρόπο ονομασίας των μεταβλητών αλλά και στην γλώσσα την οποία μπορούμε να χρησιμοποιήσουμε όπως π.χ ελληνικά.

-Την επόμενη φορά θα ασχοληθούμε με τα διαφορετικά είδη πληροφορίας που μπορεί να αποθηκεύσει μια μεταβλητή.

Μιχάλης Κασάπογλου(http://kassapoglou.com)

  • Σχόλια

0 Comments:

Scroll to Top