JAVA ΕΝΟΤΗΤΑ 4 – VARIABLES

 

ΕΙΣΑΓΩΓΗ

Ο κύριος λόγος που χρησιμοποιούμε variables (μεταβλητές), όχι μόνο στη Java αλλά και σε οποιαδήποτε γλώσσα προγραμματισμού, 

είναι για να μπορούμε προσωρινά να αποθηκεύσουμε  τιμές έτσι ώστε αργότερα  να μπορέσουμε να τις χρησιμοποιήσουμε σε διάφορα σημεία στην εφαρμογή μας.

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

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

HOW TO DEFINE A VARIABLE

Όταν ορίζουμε μια variable στην πραγματικότητα δεσμεύουμε ένα κομμάτι της μνήμης του υπολογιστή. Όταν αναθέτουμε μια τιμή στην μεταβλητή, αυτή η τιμή πηγαίνει και τοποθετείται στη τοποθεσία της μνήμης την οποία έχει ήδη δεσμεύσει η μεταβλητή. Για να χρησιμοποιήσουμε την αποθηκευμένη τιμή, απλά καλούμε το όνομα της μεταβλητής και εκείνη αναλαμβάνει να ανακτήσει την τιμή από την μνήμη.

Μετά από αυτή τη γρήγορη ανάλυση, καταλαβαίνουμε ότι οι μεταβλητές έχουν γενικότερα τρεις ιδιότητες:

  1. Αναφέρονται σε μια τοποθεσία της μνήμης
  2. Δέχονται συγκεκριμένη μορφή τιμών
  3. και φυσικά έχουν ένα όνομα

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

  • Ο πρώτος χαρακτήρας στο όνομα μιας variable πρέπει να είναι γράμμα
  • Σαν γράμματα θεωρούμε το εύρος 'A'-'Z', 'a'-'z', '_', ή '$'
  • Μετά από το πρώτο γράμμα μπορούμε να συμπεριλάβουμε και αριθμούς ('0'-'9') στο όνομα
  • Αν το όνομα αποτελείται από δύο ή περισσότερες λέξεις δεν επιτρέπεται το κενό ανάμεσα τους
  • Δεν επιτρέπονται άλλα σύμβολα όπως '+' ή '©'
  • Μπορούμε να χρησιμοποιήσουμε όσους χαρακτήρες θέλουμε χωρίς να υπάρχει όριο
  • Η Java είναι case sensitive οπότε προσέχουμε με τα κεφαλαία και τα πεζά γράμματα
  • Δεν μπορεί το όνομα της μεταβλητής να είναι μια από τις λέξεις κλειδιά (reserved words) που ήδη έχει δεσμεύσει η java.

Αυτά είναι μερικά παραδείγματα ονομάτων που είναι έγκυρα στην Java:

Welcome, _welcome, $Welcome, Welcome1

ενώ δεν μπορούμε να έχουμε ονόματα όπως:

my name, 1Welcome

Ο πίνακας με τις δεσμευμένες λέξεις (reserved words) είναι ο εξής:


Οι δύο λέξεις κλειδιά const και goto δεν χρησιμοποιούντα επί του παρόντος αν και ανήκουν στις reserve λέξεις της Java.

Με την εισαγωγή του module system στην Java 9, εμφανίστηκαν ακόμα 10 καινούργια reserved keywords τα οποία δεν μπορούμε να χρησιμοποιήσουμε σαν ονόματα μεταβλητών και είναι οι εξής:

open, module, requires, transitive, exports, opens, to, uses, provides, with.

Σημείωση: Το όνομα της μεταβλητής, δηλαδή οι χαρακτήρες από τους οποίους αποτελείται το όνομα ενός variable, ονομάζεται identifier. Κάθε φορά που ονομάζουμε μια μεταβλητή, στην ουσία ορίζουμε ένα identifier. Οι κανόνες για να ορίσουμε ένα identifier παραμένουν οι ίδιοι και για την ονομασία κλάσεων όπως και μεθόδων.


 

Για οριστεί πλήρως μια μεταβλητή, εκτός από το identifier (τό όνομα της μεταβλητής) πρέπει να ορίσουμε και το είδος των δεδομένων (data type) που θα δέχεται. Η Java λειτουργεί ως strongly typed programming language και αυτό σημαίνει ότι οι τιμές που αναθέτουμε στις μεταβλητές θα πρέπει να συμφωνούν με το type της μεταβλητής. Ο κανόνας για να ορίσουμε μια variable είναι ο εξής:

data_type variable_name;

Το παρακάτω παράδειγμα ορίζει μια μεταβλητή με το όνομα num που θα δέχεται ακέραιους (integer) αριθμούς.

int num;

PRIMITIVE DATA TYPES

Η Java αποτελείται από δύο μεγάλες κατηγορίες data types: εκείνες των αντικειμένων και εκείνες των μη αντικειμένων. Σε αυτή την ενότητα δωρεάν μαθημάτων Java, και σε μερικές επόμενες, θα ασχοληθούμε με την κατηγορία των μη-αντικειμένων data types που αλλιώς ονομάζονται primitive. Ονομάζονται έτσι γιατί κυρίως χρησιμοποιούνται σαν τοπικές (local) μεταβλητές και αποθηκεύουν τις ίδιες τις τιμές. Το άλλο είδος είναι τα reference data types όπου οι μεταβλητές αποθηκεύουν την διεύθυνση της μνήμης που βρίσκεται η πληροφορία. Η έννοια αυτή θα είναι πιο ξεκάθαρη όταν μιλήσουμε αργότερα για αντικείμενα. Συνολικά λοιπόν έχουμε οκτώ διαφορετικά είδη primitive data types όπως δείχνει και ο παρακάτω πίνακας.


Κάθε ένα από τα παραπάνω data types χρειάζεται διαφορετικό μέγεθος Bits για να περιγράψει έναν αριθμό στην μνήμη του υπολογιστή. Με αυτό τον τρόπο δεν ξοδεύουμε άσκοπα την μνήμη της συσκευής στην οποία εκτελείται η java εφαρμογή μας. Αυτό σε laptops ή tower computers ίσως να μην έχει σημασία, όμως είναι σημαντικό χαρακτηριστικό για εφαρμογές δημιουργημένες για Mobiles, smart TVs και οπουδήποτε αλλού τρέχει η Java. Γιατί να χρησιμοποιήσετε 64 bits για να ορίσετε τον αριθμό 3 όταν μπορείτε να το κάνετε και με 8 bits?


Από την επόμενη ενότητα θα αρχίζουμε να βλέπουμε παραδείγματα πως ορίζουμε κάθε ένα από αυτά τα data types και πως χρησιμοποιούνται στον κώδικα.

Μην ξεχάσετε να κάνετε ένα μικρό donation έτσι ώστε αυτό το blog να μεγαλώσει ακόμα πιο πολύ και να έχει περισσότερες δυνατότητες στην online παράδοση δωρεάν μαθημάτων.

full-width

Post a Comment

0 Comments