JAVA - ΕΝΟΤΗΤΑ 7 – Boolean and Char Data types


Στην σημερινή ενότητα θα μιλήσουμε για τα δύο τελευταία data types που μας έχουν μείνει τα οποία είναι το boolean και το char. Ας ξεκινήσουμε λοιπόν την ανάλυση μας από το boolean.
 Ο ορισμός του boolean είναι πολύ απλός – μια μεταβλητή είδος boolean μπορεί να περιέχει είτε την λέξη true ή την λέξη false. Οι λέξεις true και false είναι reserve words από την Java και δεν μπορείτε να τις χρησιμοποιήσετε σαν ονόματα μεταβλητών. Ας δούμε όμως ένα απλό πρόγραμμα που μας δείχνει πως θα μπορούσαμε να χρησιμοποιήσουμε boolean μεταβλητές.



Ορίζουμε λοιπόν μια μεταβλητή t είδος boolean και με αρχική τιμή true. Όταν ζητήσουμε να δούμε με την ισούται η μεταβλητή t, λογικό είναι να πάρουμε το true σαν απάντηση. Θα μπορούσε όμως μια μεταβλητή να ισούται και με το αποτέλεσμα μιας συνθήκης όπως συμβαίνει με την μεταβλητή y. Στην συγκεκριμένη γραμμή κώδικα, συγκρίνεται η τιμή του x (που έχει οριστεί στην προηγούμενη γραμμή σαν 10) με την τιμή 15. Επειδή το x δεν είναι μεγαλύτερο του 15 τότε η τιμή που θα ανατεθεί στην boolean y μεταβλητή είναι η τιμή false.

Πριν προχωρήσουμε στο char data type, ας δώσουμε προσοχή σε ένα ακόμα σημείο όσο αφορά τα boolean data types. Στην Java, το boolean data type δεν είναι integer τιμή. Δεν μπορούμε δηλαδή να αναθέσουμε στο false την τιμή 0 και στο true την τιμή 1 όπως ίσως συμβαίνει με κάποιες άλλες γλώσσες προγραμματισμού. Στην java μια boolean μεταβλητή μπορεί να είναι μόνο true ή false και τίποτα άλλο.

Τώρα το char data type αντιπροσωπεύει μεμονωμένους χαρακτήρες στην java. Δηλαδή ένας μόνο χαρακτήρας είναι char, ενώ δύο χαρακτήρες δεν είναι char αλλά string. Για αυτό και λέμε μεμονωμένους χαρακτήρες.

Τώρα το char data type αντιπροσωπεύει μεμονωμένους χαρακτήρες στην java. Δηλαδή ένας μόνο χαρακτήρας είναι char, ενώ δύο χαρακτήρες δεν είναι char αλλά string. Για αυτό και λέμε μεμονωμένους χαρακτήρες.

Για να δηλώσουμε έναν χαρακτήρα σε μια μεταβλητή χρησιμοποιούμε τα single quotes ( ‘ ‘). Προσέξτε, γιατί να βάλετε double quotes ( “ ”) σε ένα χαρακτήρα τότε αυτό δεν αντιπροσωπεύει ένα char data type αλλά είναι String.

Για μερικούς χαρακτήρες που δεν μπορούμε να τους εκτυπώσουμε στην οθόνη, υπάρχει το ειδικό σύμβολο \ με το οποίο τους δηλώνουμε. Ο πιο κάτω πίνακας είναι μια μικρή λίστα από τα πιο συνήθη escape characters όπως τα ονομάζουμε

 




Ας δούμε όμως ένα μικρό Java πρόγραμμα που περιέχει όλα αυτά τα στοιχεία που έχουμε αναφέρει



Ας δούμε λοιπόν τι έχουμε εδώ. Ξεκινάμε το κώδικα μας δηλώνοντας μια char μεταβλητή με το όνομα a και αναθέτοντας σε αυτήν την τιμή ‘A’. Μετά παίρνουμε την μεταβλητή a και προσθέτουμε την τιμή 1 σε αυτήν. Η Java βλέποντας αυτή την πράξη, θα μετατρέψει τον χαρακτήρα A στην αντίστοιχη ASCII τιμή ( η οποία για το κεφαλαίο Α είναι το 65) και θα κάνει αριθμητική πράξη. Το αποτέλεσμα, που είναι ο αριθμός 66, το μετατρέπουμε με casting πίσω σε χαρακτήρα (με βάση τον ASCII πίνακα είναι το Β) και το αναθέτουμε στην char μεταβλητή b. 

Όταν τώρα προσπαθούμε να τυπώσουμε το a + b παίρνουμε τον αριθμό 131 σαν αποτέλεσμα γιατί η java μετατρέπει τις μεταβλητές στις αντίστοιχες integer τιμές με βάση τον ASCII πίνακα και εκτελεί αριθμητική πράξη.

Στο αμέσως επόμενο println το αποτέλεσμα είναι διαφορετικό, γιατί το πρώτο σκέλος είναι string. Οπότε αμέσως μετά από ένα string δεν γίνονται πια πράξεις αλλά είτε αριθμοί είτε χαρακτήρες απλά κολλάνε το ένα δίπλα στο άλλο. Αυτό ονομάζεται concatenation στην Java.

Επειδή ο κάθε χαρακτήρας μπορεί να μετατραπεί σε ακέραιο αριθμό, τότε μπορούμε να πάρουμε οποιοδήποτε αριθμό , όπως για παράδειγμα τον 75, και να τον μετατρέψουμε σε χαρακτήρα (στο παράδειγμα παίρνουμε το Κ).

Τέλος, χρησιμοποιώντας το forward slash ( \ ) και ένα δεκαεξαδικό αριθμό από τον Unicode πίνακα, μπορούμε να εκτυπώσουμε ειδικούς χαρακτήρες όπως αυτό του copyright ή ακόμα κινέζικα σύμβολα.

Μιχάλης Κασάπογλου
 

Archive

Contact Form

Send