JAVA - ΕΝΟΤΗΤΑ 3 - Variables and Integer Data Types
Ο κύριος λόγος που χρησιμοποιούμε όχι μόνο την Java αλλά και οποιαδήποτε γλώσσα προγραμματισμού, είναι να μπορούμε να εκτελούμε αριθμητικές πράξεις πολύ γρήγορα.
Για να μπορέσουμε
να πετύχουμε το επιθυμητό αποτέλεσμα,
θα πρέπει πρωτίστως να περάσουμε στην
Java κατά κάποιο τρόπο τις
τιμές που θέλουμε να συμπεριληφθούν
στις πράξεις και δευτερευόντως να
ορίσουμε την μαθηματική φόρμουλα στην
οποία θα λάβουν μέρος οι αριθμοί. Για
να μπορέσουμε να ορίσουμε τιμές μέσα
σε ένα πρόγραμμα Java, έχουμε
δημιουργήσει την έννοια της μεταβλητής
(variable).
Η
γενική μορφή ορισμού μιας μεταβλητής
είναι: type var-name; όπου type
είναι το είδος της τιμής (integer,
boolean, float, κτλ) που μπορεί να δεχτεί
η μεταβλητή ενώ το var-name είναι
το πως θα ονομάσουμε την μεταβλητή μας.
Φυσικά έχουμε την δυνατότητα να
αρχικοποιήσουμε την μεταβλητή μας με
κάποια τιμή ασχέτως αν αργότερα κατά
την εκτέλεση της εφαρμογή μας η μεταβλητή
μπορεί να δεχτεί διαφορετική τιμή. Η
γενικότερη φόρμουλα για να ορίσουμε
αρχική τιμή είναι: type var =
value;
Πριν
δούμε ένα συγκεκριμένο παράδειγμα,
πρέπει να αναλύσουμε λίγο περισσότερο
την έννοια του type. Τα data
types στην Java είναι πολύ
σημαντικά γιατί πολύ απλά η Java
θεωρείται strongly typed γλώσσα
προγραμματισμού. Αυτό σημαίνει ότι
πρέπει αρχικά να ορίσουμε τις μεταβλητές
και το τι τιμές θα δέχονται πριν ακόμα
τις καλέσουμε μέσα στην εφαρμογή μας.
Η Java
αποτελείται από δύο μεγάλες κατηγορίες
data types: εκείνες των
αντικειμένων και εκείνες των μη
αντικειμένων. Στη σημερινή ενότητα, και
σε μερικές ακόμη στο μέλλον, θα ασχοληθούμε
με την κατηγορία των μη-αντικειμένων
data types που αλλιώς ονομάζονται
primitive. Συνολικά έχουμε
οκτών διαφορετικά είδη primitive
data types όπως δείχνει και ο πιο κάτω
πίνακας.
Type
|
Meaning
|
boolean | true / false |
byte | 8 bit integer |
char | character |
double | Double precision floating point |
float | Single precision floating point |
int | Integer |
long | Long integer |
short | Short integer |
Ας
μιλήσουμε λοιπόν στην σημερινή ενότητα
για τους Integer αριθμούς
και κατά συνέπεια τις μεταβλητές που
ορίζονται σαν int data type.
Όπως
βλέπουμε και από τον πιο πάνω πίνακα,
υπάρχουν 4 διαφορετικά είδη integer
data types τα οποία είναι: byte,
short, int, και long. Η διαφορά
τους είναι στο εύρος των ακεραίων αριθμών
που μπορεί το κάθε data type να
καλύψει μια και αυτή τους η ικανότητα
προέρχεται από τον αριθμό των bits
που χρησιμοποιούν.
Type | Bits | Range |
byte | 8 | -128 to 127 |
short | 16 | -32,768 to 32,767 |
int | 32 | -2,147,483, 648 to 2,147,483,647 |
long | 64 | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
Ο πιο
σύνηθες integer type είναι το
int. Μεταβλητές που ορίζονται
σαν είδος int συχνά
χρησιμοποιούνται σε control
loops, σαν index σε πίνακες
και γενικότερα για γενικής χρήσεως
μαθηματικές πράξεις. Ας δούμε όμως ένα
απλό παράδειγμα.
Ας
δούμε γραμμή προς γραμμή αυτό το απλό
πρόγραμμα. Δεν θα αναφερθούμε όμως στο
πως δημιουργείται ένα project,
μια κλάση και τι σκοπό έχει η main
μέθοδο μέσα στην κλάση. Για αυτή την
θεωρία μπορείτε να αναφερθείτε στις 2
πρώτες ενότητες.
Το
πρόγραμμα μας λοιπόν ξεκινάει με το να
ορίσει μια μεταβλητή με το όνομα number1.
Η συγκεκριμένη μεταβλητή θα δέχεται
μόνο integer αριθμούς και
της αναθέτουμε εξ αρχής τον αριθμό 5. Το
ίδιο ισχύει και για την μεταβλητή
number2.
Η
μεταβλητή sum εξ αρχής δεν
αρχικοποιείται με κάποια τιμή. Αλλά
λίγο αργότερα στο πρόγραμμα μας ορίζουμε
πως η τιμή της sum θα προέλθει
από την πρόσθεση των τιμών τις οποίες
περιέχουν οι μεταβλητές number1
και number2. Το αποτέλεσμα
θα πρέπει να είναι ένας integer
αριθμός γιατί έχουμε ορίσει πως η
μεταβλητή sum περιμένει
να λάβει integer τιμές.
Στο
αποτέλεσμα συνδυάζουμε το μήνυμα “The
Sum of the two numbers is “ με την τιμή που
περιέχει η μεταβλητή sum. Εδώ
το σύμβολο της πρόσθεσης δεν ισχύει σαν
πρόσθεση αλλά σαν τελεστής που απλά
“κολλάει” τους δύο όρους τον ένα δίπλα
στον άλλον. Ο λόγος είναι απλός: δεν
είναι δυνατή η πράξη της πρόσθεσης
μεταξύ μιας string πρότασης
(String ονομάζουμε περισσότερους
από δυο χαρακτήρες μαζί) και ενός αριθμού.
Οπότε η println βλέπει πως ο
πρώτος όρος του τελεστή +
είναι String (λέξεις
δηλαδή) οπότε αγνοεί την πρόσθεση και
πάει και “κολλάει” όλους τους όρους
που ακολουθούν τον έναν μετά τον άλλον.
Εδώ απλά έχουμε μόνο μια μεταβλητή που
ακολουθεί. Επειδή έχουμε αυτό το
concatenation όπως το ονομάζουμε
για αυτό και αφήνουμε ένα κενό ανάμεσα
στο τέλος του String και τα
quotes (is: “).
Τέλος
με τα διπλά // μπορούμε να ορίσουμε σχόλια
σε μια γραμμή και με το συνδυασμό /* και
*/ μπορούμε να έχουμε
πολλαπλές γραμμές σαν σχόλια.
Μιχάλης
Κασάπογλου