java:variables

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
java:variables [2016/01/15 05:18]
gthanos [Κυριολεκτικά (literals)]
java:variables [2016/02/16 16:47]
doufexi
Line 2: Line 2:
  
 Οι μεταβλητές στην γλώσσα προγραμματισμού Java διακρίνονται σε δύο βασικές κατηγορίες:​ Οι μεταβλητές στην γλώσσα προγραμματισμού Java διακρίνονται σε δύο βασικές κατηγορίες:​
-  * **βασικοί τύποι (//​primitive data types//)**: Ως βασικοί τύποι δεδομένων ορίζονται οι τύποι δεδομένων,​ οι οποίοι καταλαμβάνουν προκαθορισμένο αριθμό bytes στην μνήμη και είναι προκαθορισμένοι από τον compiler της γλώσσας. Κοινοί τύποι είναι byte, char, int(integer),​ long, float, double κλπ. Ανάλογοι τύποι δεδομένων απαντώνται και σε άλλες γλώσσες προγραμματισμού,​ όπως οι γλώσσα **C/C++**.+  * **βασικοί τύποι (//​primitive data types//)**: Ως βασικοί τύποι δεδομένων ορίζονται οι τύποι δεδομένων,​ οι οποίοι καταλαμβάνουν προκαθορισμένο αριθμό bytes στην μνήμη και είναι προκαθορισμένοι από τον compiler της γλώσσας. Κοινοί τύποι είναι byte, char, int(integer),​ long, float, double κλπ. Ανάλογοι τύποι δεδομένων απαντώνται και σε άλλες γλώσσες προγραμματισμού,​ όπως οι γλώσσες **C/C++**.
   * **αναφορικοί τύποι (//​reference types//)**: Σε αυτή την κατηγορία ανήκουν όλοι οι τύποι δεδομένων οι οποίοι ορίζονται μέσα από μία κλάση και υλοποιούνται με χρήση αντικειμένων. Ο λόγος που καλούνται αναφορικοί τύποι είναι ότι οι μεταβλητή κάθε αντικειμένου στην Java δεν περιέχει το αντικείμενο καθ'​ αυτό, αλλά ένα δείκτη (αναφορά-reference) στο αντικείμενο. Το αντικείμενο βρίσκεται σε μία διαφορετική περιοχή της μνήμης,​ όπου δεσμεύεται η απαραίτητη μνήμη από τον κατασκευαστή του αντικειμένου κατά την αρχικοποίηση του και αποδεσμεύεται η μνήμη από τον μηχανισμό [[java:​jre#​Garbage Collection|Garbage Collection]] κατά την καταστροφή του.   * **αναφορικοί τύποι (//​reference types//)**: Σε αυτή την κατηγορία ανήκουν όλοι οι τύποι δεδομένων οι οποίοι ορίζονται μέσα από μία κλάση και υλοποιούνται με χρήση αντικειμένων. Ο λόγος που καλούνται αναφορικοί τύποι είναι ότι οι μεταβλητή κάθε αντικειμένου στην Java δεν περιέχει το αντικείμενο καθ'​ αυτό, αλλά ένα δείκτη (αναφορά-reference) στο αντικείμενο. Το αντικείμενο βρίσκεται σε μία διαφορετική περιοχή της μνήμης,​ όπου δεσμεύεται η απαραίτητη μνήμη από τον κατασκευαστή του αντικειμένου κατά την αρχικοποίηση του και αποδεσμεύεται η μνήμη από τον μηχανισμό [[java:​jre#​Garbage Collection|Garbage Collection]] κατά την καταστροφή του.
  
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 138: Line 143:
  
 <WRAP tip 80% center round> <WRAP tip 80% center round>
-Δεν συνιστάται,​ αλλά για λόγους πληρότητας αναφέρεται εδώ. Εάν για οποιονδήποτε λόγο θέλετε να αναθέσετε μία τιμή σε μία μεταβλητή τύπου float τότε αυτή θα πρέπει να έχει τα εξής χαρακτηριστικά:​+**Δεν συνιστάται,​ αλλά για λόγους πληρότητας αναφέρεται εδώ.**  
 + 
 +Εάν για οποιονδήποτε λόγο θέλετε να αναθέσετε μία τιμή σε μία μεταβλητή τύπου float τότε αυτή θα πρέπει να έχει τα εξής χαρακτηριστικά:​
   * να χωρά σε μία μεταβλητή τύπου float.   * να χωρά σε μία μεταβλητή τύπου float.
   * η τιμή να τελειώνει με τον χαρακτήρα '​F'​ ή '​f',​ δηλώνοντας ένα κυριολεκτικό float.   * η τιμή να τελειώνει με τον χαρακτήρα '​F'​ ή '​f',​ δηλώνοντας ένα κυριολεκτικό float.
Line 152: Line 159:
   found: ​   double   found: ​   double
 </​code>​ </​code>​
 +
 +Αντίστοιχα,​ εάν σε ένα κυριολεκτικό τύπου float δηλώσετε μία τιμή που υπερβαίνει τις δυνατότητες μίας μεταβλητής float να το αποθηκεύσει τότε επίσης θα λάβετε ένα μήνυμα λάθους. Για παράδειγμα:​
 +<code java>
 +float d= 1288787879999999999999999999999999999999999999999999999999.99999999999999999999F;​
 +
 +error: floating point number too large
 +    float d= 1288789999999999999999999999999999999999999999999999999999999.99999999999999999999F;​
 +             ^
 +</​code>​
 +
  
 </​WRAP>​ </​WRAP>​
-Εάν ένα κυριολεκτικό είναι τύπου float θα πρέπει να τελειώνει σε //F// ή //f//, δηλ.+Εάν ένα κυριολεκτικό είναι τύπου float αντί για double, ​θα πρέπει να τελειώνει σε //F// ή //f//, δηλ.
 <code java> <code java>
 float f = 0.14768f; ή float f = 0.14768F; float f = 0.14768f; ή float f = 0.14768F;
java/variables.txt · Last modified: 2017/02/11 12:56 by doufexi