java:variables
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| java:variables [2016/02/17 09:38] – [Χρήση χαρακτήρων '_' (underscore) σε αριθμητικά κυριολεκτικά] gthanos | java:variables [2017/01/25 14:13] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| Οι μεταβλητές στην γλώσσα προγραμματισμού Java διακρίνονται σε δύο βασικές κατηγορίες: | Οι μεταβλητές στην γλώσσα προγραμματισμού Java διακρίνονται σε δύο βασικές κατηγορίες: | ||
| - | * **βασικοί τύποι (// | + | * **βασικοί τύποι (// |
| * **αναφορικοί τύποι (// | * **αναφορικοί τύποι (// | ||
| Line 16: | Line 16: | ||
| ===== Βασικοί Τύποι Δεδομένων | ===== Βασικοί Τύποι Δεδομένων | ||
| - | + | /* | |
| - | Ως βασικοί τύποι δεδομένων (// | + | Ως βασικοί τύποι δεδομένων (// |
| Οι βασικοί τύποι δεδομένων στην Java σε αναλογία με την γλώσσα προγραμματισμού C είναι οι εξής: | Οι βασικοί τύποι δεδομένων στην Java σε αναλογία με την γλώσσα προγραμματισμού C είναι οι εξής: | ||
| Line 43: | Line 43: | ||
| | String (or any object) | | String (or any object) | ||
| | boolean | | boolean | ||
| - | |||
| - | ==== Κυριολεκτικά (literals) ==== | ||
| - | |||
| - | Με τον όρο " | ||
| - | <code java> | ||
| - | boolean result = true; | ||
| - | char capitalC = ' | ||
| - | byte b = 100; | ||
| - | short s = 10000; | ||
| - | int i = 100000; | ||
| - | </ | ||
| - | |||
| - | === Κυριολεκτικά αλφαριθμητικών (strings) === | ||
| - | |||
| - | Τα κυριολεκτικά αλφαριθμητικών ορίζονται με διπλά εισαγωγικά. Ένα παράδειγμα ορισμού **String** μπορείτε να δείτε παρακάτω: | ||
| - | <code java> | ||
| - | String str = "this is a string"; | ||
| - | </ | ||
| - | |||
| - | Μπορείτε να παράγετε ένα νέο αλφαριθμητικό από την συνένωση δύο υφιστάμενων αλφαριθμητικών με χρήση του χαρακτήρα ' | ||
| - | <code java> | ||
| - | String greeting = "Hello " | ||
| - | </ | ||
| - | Μετά την εκτέλεση της παραπάνω εντολής η μεταβλητή // | ||
| - | |||
| - | === Κυριολεκτικά χαρακτήρων === | ||
| - | Κυριολεκτικά χαρακτήρων ορίζονται με απλά εισαγωγικά ως εξής: | ||
| - | |||
| - | < | ||
| - | char c = ' | ||
| - | </ | ||
| - | |||
| - | Οι χαρακτήρες στην Java καταλαμβάνουν 2 bytes και έχουν κωδικοποίηση UTF-16. Μπορείτε να αναθέσετε τιμές σε χαρακτήρες με χρήση της //unicode escape// μορφής τους, όπως παρακάτω: | ||
| - | |||
| - | <code java> | ||
| - | char c = ' | ||
| - | char d = ' | ||
| - | String str = " | ||
| - | </ | ||
| - | |||
| - | Επίσης ορίζονται οι ειδικοί χαρακτήρες | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | * '' | ||
| - | |||
| - | === Κυριολεκτικά ακεραίων αριθμών === | ||
| - | |||
| - | Τα κυριολεκτικά ακεραίων αριθμών είναι τύπου int εκτός εάν έχουν τον χαρακτήρα ' | ||
| - | <code java> | ||
| - | byte b = 100; | ||
| - | short s = 10000; | ||
| - | int i = 100000; | ||
| - | </ | ||
| - | |||
| - | <WRAP tip 80% center round> | ||
| - | Εάν επιχειρήσετε να αναθέσετε σε μία μεταβλητή μία τιμή η οποία υπερβαίνει την χωρητικότητα της τότε θα λάβετε ένα μήνυμα λάθους από τον compiler, όπως παρακάτω | ||
| - | <code java> | ||
| - | byte b = 1000; | ||
| - | |||
| - | error: incompatible types: possibly lossy conversion from integer to byte. | ||
| - | byte b = 1000; | ||
| - | ^ | ||
| - | Δεν μπορείτε να αναθέσετε σε μία μεταβλητή τύπου byte την τιμή 1000, καθώς | ||
| - | το εύρος τιμών της είναι από -128 έως 127. | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | Εάν θέλετε να αναθέσετε σε μία μεταβλητή τύπου long μία τιμή που είναι μεγαλύτερη από την μέγιστη τιμή της μεταβλητή int ή μικρότερη της ελάχιστης τιμή της int, τότε θα πρέπει να χρησιμοποιήσετε ένα κυριολεκτικό τύπου long, όπως δείχνουμε παρακάτω: | ||
| - | <code java> | ||
| - | long a = 2147483648878787L; | ||
| - | ή | ||
| - | long a = 2147483648878787l; | ||
| - | </ | ||
| - | Εάν παραλείψετε τον χαρακτήρα ' | ||
| - | < | ||
| - | error: integer number too large: 2147483648878787 | ||
| - | long a = 2147483648878787; | ||
| - | ^ | ||
| - | </ | ||
| - | |||
| - | Σε έναν ακέραιο αριθμό (byte, short, int, long) μπορείτε να αναθέσετε τιμές χρησιμοποιώντας κυριολεκτικά δεκαδικής, | ||
| - | |||
| - | * **Δεκαδικές τιμές**: | ||
| - | * **Δεκαεξαδικές τιμές: | ||
| - | * **Δυαδικές τιμές: | ||
| - | |||
| - | === Κυριολεκτικά αριθμών κινητής υποδιαστολής (float) === | ||
| - | |||
| - | Τα κυριολεκτικά αριθμών κινητής υποδιαστολής είναι τύπου double και όχι float. Αυτό πρακτικά σημαίνει ότι μπορείτε να αναθέσετε οποιαδήποτε τιμή σε μία μεταβλητή double χωρίς περιορισμούς. | ||
| - | |||
| - | <code java> | ||
| - | double d = 0.14768; ή double d = 0.14768D; | ||
| - | </ | ||
| - | |||
| - | <WRAP tip 80% center round> | ||
| - | **Δεν συνιστάται, | ||
| - | |||
| - | Εάν για οποιονδήποτε λόγο θέλετε να αναθέσετε μία τιμή σε μία μεταβλητή τύπου float τότε αυτή θα πρέπει να έχει τα εξής χαρακτηριστικά: | ||
| - | * να χωρά σε μία μεταβλητή τύπου float. | ||
| - | * η τιμή να τελειώνει με τον χαρακτήρα ' | ||
| - | Δείτε το παρακάτω παραδειγμα: | ||
| - | <code java> | ||
| - | float d= 1288789.99999999999999999999; | ||
| - | |||
| - | Λαμβάνετε το παρακάτω μήνυμα λάθους, | ||
| - | error: possible loss of precision | ||
| - | float d= 1288789.99999999999999999999; | ||
| - | ^ | ||
| - | required: float | ||
| - | found: | ||
| - | </ | ||
| - | |||
| - | Αντίστοιχα, | ||
| - | <code java> | ||
| - | float d= 1288787879999999999999999999999999999999999999999999999999.99999999999999999999F; | ||
| - | |||
| - | error: floating point number too large | ||
| - | float d= 1288789999999999999999999999999999999999999999999999999999999.99999999999999999999F; | ||
| - | ^ | ||
| - | </ | ||
| - | |||
| - | |||
| - | </ | ||
| - | Εάν ένα κυριολεκτικό είναι τύπου float αντί για double, θα πρέπει να τελειώνει σε //F// ή //f//, δηλ. | ||
| - | <code java> | ||
| - | float f = 0.14768f; ή float f = 0.14768F; | ||
| - | </ | ||
| - | |||
| - | ==== Χρήση χαρακτήρων ' | ||
| - | |||
| - | Μπορούμε να χρησιμοποιήσουμε χαρακτήρες // | ||
| - | |||
| - | <code java> | ||
| - | long creditCardNumber = 1234_5678_9012_3456L; | ||
| - | long socialSecurityNumber = 999_99_9999L; | ||
| - | float pi = 3.14_15F; | ||
| - | long hexBytes = 0xFF_EC_DE_5E; | ||
| - | long hexWords = 0xCAFE_BABE; | ||
| - | long maxLong = 0x7fff_ffff_ffff_ffffL; | ||
| - | byte nybbles = 0b0010_0101; | ||
| - | long bytes = 0b11010010_01101001_10010100_10010010; | ||
| - | </ | ||
| - | |||
| - | Δεν μπορείτε να χρησιμοποιήσετε // | ||
| - | * στην αρχή ενός αριθμού ή στο τέλος του. | ||
| - | * πριν ή μετά την υποδιαστολή. | ||
| - | * πριν τον χαρακτήρα ' | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | | Προηγούμενο: | + | | Προηγούμενο: |
java/variables.1455701903.txt.gz · Last modified: 2016/02/17 09:38 (external edit)
