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/01/15 05:23] – [Κυριολεκτικά (literals)] gthanos | java:variables [2017/01/25 14:13] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 2: | Line 2: | ||
Οι μεταβλητές στην γλώσσα προγραμματισμού Java διακρίνονται σε δύο βασικές κατηγορίες: | Οι μεταβλητές στην γλώσσα προγραμματισμού Java διακρίνονται σε δύο βασικές κατηγορίες: | ||
- | * **βασικοί τύποι (// | + | * **βασικοί τύποι (// |
* **αναφορικοί τύποι (// | * **αναφορικοί τύποι (// | ||
Line 8: | Line 8: | ||
Επιπλέον, | Επιπλέον, | ||
- | * **Instance Variables (non-static class fields):** Η συγκεκριμένη κατηγορία μεταβλητών είναι εκείνη που συναντούμε συνήθως στα [[java: | + | * **Instance Variables (non-static class fields):** Η συγκεκριμένη κατηγορία μεταβλητών είναι εκείνη που συναντούμε συνήθως στα [[java: |
* **Static Variables (static class fields):** Οι [[java: | * **Static Variables (static class fields):** Οι [[java: | ||
* **Τοπικές μεταβλητές (local-variables): | * **Τοπικές μεταβλητές (local-variables): | ||
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"; | ||
- | </ | ||
- | |||
- | === Κυριολεκτικά χαρακτήρων === | ||
- | Κυριολεκτικά χαρακτήρων ορίζονται με απλά εισαγωγικά ως εξής: | ||
- | |||
- | < | ||
- | 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 θα πρέπει να τελειώνει σε //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.1452835428.txt.gz · Last modified: 2016/01/15 05:23 by gthanos