This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
java:variables [2016/01/15 05:00] gthanos [Κυριολεκτικά (literals)] |
java:variables [2016/01/15 05:40] gthanos [Κυριολεκτικά (literals)] |
||
---|---|---|---|
Line 58: | Line 58: | ||
Τα κυριολεκτικά αλφαριθμητικών ορίζονται με διπλά εισαγωγικά. Ένα παράδειγμα ορισμού **String** μπορείτε να δείτε παρακάτω: | Τα κυριολεκτικά αλφαριθμητικών ορίζονται με διπλά εισαγωγικά. Ένα παράδειγμα ορισμού **String** μπορείτε να δείτε παρακάτω: | ||
- | |||
<code java> | <code java> | ||
String str = "this is a string"; | String str = "this is a string"; | ||
</code> | </code> | ||
+ | |||
+ | Μπορείτε να παράγετε ένα νέο αλφαριθμητικό από την συνένωση δύο υφιστάμενων αλφαριθμητικών με χρήση του χαρακτήρα '+' ως εξής: | ||
+ | <code java> | ||
+ | String greeting = "Hello "+"World!"; | ||
+ | </code> | ||
+ | Μετά την εκτέλεση της παραπάνω εντολής η μεταβλητή //greeting// περιέχει το αλφαριθμητικό <color red>"Hello World!"</color>. | ||
=== Κυριολεκτικά χαρακτήρων === | === Κυριολεκτικά χαρακτήρων === | ||
Line 105: | Line 110: | ||
byte b = 1000; | byte b = 1000; | ||
^ | ^ | ||
- | Δεν μπορείτε να αναθέσετε σε μία μεταβλητή τύπου byte την τιμή 1000 καθώς το εύρος τιμών της είναι από -128 έως 127. | + | Δεν μπορείτε να αναθέσετε σε μία μεταβλητή τύπου byte την τιμή 1000, καθώς |
+ | το εύρος τιμών της είναι από -128 έως 127. | ||
</code> | </code> | ||
</WRAP> | </WRAP> | ||
- | Εάν θέλετε να αναθέσετε σε μία μεταβλητή τύπου long μία τιμή που είναι μεγαλύτερη από την μέγιστη τιμή της μεταβλητή int ή μικρότερη της ελάχιστης τιμή της int, τότε θα πρέπει να χρησιμοποιήσετε ένα κυριολεκτικό τύπου long, όπως θα δείξουμε παρακάτω: | + | Εάν θέλετε να αναθέσετε σε μία μεταβλητή τύπου long μία τιμή που είναι μεγαλύτερη από την μέγιστη τιμή της μεταβλητή int ή μικρότερη της ελάχιστης τιμή της int, τότε θα πρέπει να χρησιμοποιήσετε ένα κυριολεκτικό τύπου long, όπως δείχνουμε παρακάτω: |
<code java> | <code java> | ||
long a = 2147483648878787L; | long a = 2147483648878787L; | ||
Line 122: | Line 128: | ||
</code> | </code> | ||
- | Σε έναν ακέραιο αριθμό (byte, short, int, long) μπορείτε να αναθέσετε τιμές χρησιμοποιώντας κυριολεκτικά δεκαδικής, δεκαεξαδικής ή δυαδικής μορφής. Αναλυτικά παραδείγματα δίνονται παρακάτω: | + | Σε έναν ακέραιο αριθμό (byte, short, int, long) μπορείτε να αναθέσετε τιμές χρησιμοποιώντας κυριολεκτικά δεκαδικής, δεκαεξαδικής ή δυαδικής μορφής. Ενδεικτικά παραδείγματα δίνονται παρακάτω: |
* **Δεκαδικές τιμές**: ''int decVal = 26;'' | * **Δεκαδικές τιμές**: ''int decVal = 26;'' | ||
Line 130: | Line 136: | ||
=== Κυριολεκτικά αριθμών κινητής υποδιαστολής (float) === | === Κυριολεκτικά αριθμών κινητής υποδιαστολής (float) === | ||
- | Τα κυριολεκτικά αριθμών κινητής υποδιαστολής είναι τύπου double. | + | Τα κυριολεκτικά αριθμών κινητής υποδιαστολής είναι τύπου double και όχι float. Αυτό πρακτικά σημαίνει ότι μπορείτε να αναθέσετε οποιαδήποτε τιμή σε μία μεταβλητή double χωρίς περιορισμούς. |
<code java> | <code java> | ||
- | double d = 0.14768; ή double d = 0.14768L; | + | double d = 0.14768; ή double d = 0.14768D; |
</code> | </code> | ||
- | Εάν ένα κυριολεκτικό είναι τύπου float θα πρέπει να τελειώνει σε //F// ή //f//, δηλ. | + | |
+ | <WRAP tip 80% center round> | ||
+ | **Δεν συνιστάται, αλλά για λόγους πληρότητας αναφέρεται εδώ.** | ||
+ | |||
+ | Εάν για οποιονδήποτε λόγο θέλετε να αναθέσετε μία τιμή σε μία μεταβλητή τύπου float τότε αυτή θα πρέπει να έχει τα εξής χαρακτηριστικά: | ||
+ | * να χωρά σε μία μεταβλητή τύπου float. | ||
+ | * η τιμή να τελειώνει με τον χαρακτήρα 'F' ή 'f', δηλώνοντας ένα κυριολεκτικό float. | ||
+ | Δείτε το παρακάτω παραδειγμα: | ||
+ | <code java> | ||
+ | float d= 1288789.99999999999999999999; | ||
+ | |||
+ | Λαμβάνετε το παρακάτω μήνυμα λάθους, καθώς πάτε να αντιστοιχίσετε σε μία μεταβλητή τύπου float ένα κυριολεκτικό double. | ||
+ | error: possible loss of precision | ||
+ | float d= 1288789.99999999999999999999; | ||
+ | ^ | ||
+ | required: float | ||
+ | found: double | ||
+ | </code> | ||
+ | |||
+ | Αντίστοιχα, εάν σε ένα κυριολεκτικό τύπου float δηλώσετε μία τιμή που υπερβαίνει τις δυνατότητες μίας μεταβλητής float να το αποθηκεύσει τότε επίσης θα λάβετε ένα μήνυμα λάθους. Για παράδειγμα: | ||
+ | <code java> | ||
+ | float d= 1288787879999999999999999999999999999999999999999999999999.99999999999999999999F; | ||
+ | |||
+ | error: floating point number too large | ||
+ | float d= 1288789999999999999999999999999999999999999999999999999999999.99999999999999999999F; | ||
+ | ^ | ||
+ | </code> | ||
+ | |||
+ | |||
+ | </WRAP> | ||
+ | Εάν ένα κυριολεκτικό είναι τύπου float αντί για double, θα πρέπει να τελειώνει σε //F// ή //f//, δηλ. | ||
<code java> | <code java> | ||
float f = 0.14768f; ή float f = 0.14768F; | float f = 0.14768f; ή float f = 0.14768F; |