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
java:variables [2016/02/26 11:15]
127.0.0.1 external edit
java:variables [2017/02/11 12:56] (current)
doufexi [Μεταβλητές στην γλώσσα Προγραμματισμού Java]
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//)**: Σε αυτή την κατηγορία ανήκουν όλοι οι τύποι δεδομένων οι οποίοι ορίζονται μέσα από μία κλάση και υλοποιούνται με χρήση ​[[oop:​introduction|αντικειμένων]]. Ο λόγος που καλούνται αναφορικοί τύποι είναι ότι οι μεταβλητή κάθε αντικειμένου στην Java δεν περιέχει το αντικείμενο καθ'​ αυτό, αλλά ένα δείκτη (αναφορά-reference) στο αντικείμενο. Το αντικείμενο βρίσκεται σε μία διαφορετική περιοχή της μνήμης,​ όπου δεσμεύεται η απαραίτητη μνήμη από τον κατασκευαστή του αντικειμένου κατά την αρχικοποίηση του και αποδεσμεύεται η μνήμη από τον μηχανισμό [[java:​jre#​Garbage Collection|Garbage Collection]] κατά την καταστροφή του.
  
-<WRAP tip 80% round center>​Κάθε κλάση στην Java απεικονίζει ένα διαφορετικό τύπο δεδομένων. Μπορούμε να έχουμε τόσους τύπους δεδομένων,​ όσα και οι διαφορετικές πιθανές κλάσεις στην Java. Επομένως,​ ο αριθμός των δυνατών τύπων δεδομένων στην Java είναι άπειρος.</​WRAP>​ +<WRAP tip 80% round center>​Κάθε κλάση στην Java απεικονίζει ένα διαφορετικό τύπο δεδομένων. Μπορούμε να έχουμε τόσους τύπους δεδομένων,​ όσα και οι διαφορετικές πιθανές κλάσεις στην Java. Επομένως,​ ο αριθμός των δυνατών τύπων δεδομένων στην Java είναι άπειρος. 
- +</​WRAP>​
-Επιπλέον,​ η γλώσσα προγραμματισμού Java διαμορφώνει τις παρακάτω κατηγορίες μεταβλητών με βάση το σημείο στο οποίο ορίζονται. Οι παρακάτω διάκριση ισχύει τόσο για βασικές μεταβλητές,​ όσο και για αναφορικές μεταβλητές:​ +
-  * **Instance Variables (non-static class fields):** Η συγκεκριμένη κατηγορία μεταβλητών είναι εκείνη που συναντούμε συνήθως στα [[java:​class_fields|πεδία των κλάσεων]]. Οι μεταβλητές αυτές έχουν διαφορετικές τιμές για κάθε αντικείμενο της κλάσης και αποθηκεύουν την κατάσταση του αντικειμένου σε κάθε χρονική στιγμή. +
-  * **Static Variables (static class fields):** Οι [[java:​static_keyword|στατικές μεταβλητές]] αποτελούν και αυτές [[java:​class_fields|πεδία της κλάσης]]. Η διαφορά από τις **Instance Variables** είναι ότι δεν ανήκουν σε επιμέρους αντικείμενα,​ αλλά στην κλάση. Αυτό πρακτικά σημαίνει ότι η τιμή των μεταβλητών αυτών είναι κοινή για όλα τα αντικείμενα της κλάσης. +
-  * **Τοπικές μεταβλητές (local-variables):​** τοπικές μεταβλητές σε μεθόδους (σε αναλογία με τις τοπικές μεταβλητές στην γλώσσα C). +
-  * **Παράμετροι (parameters):​** παράμετροι σε μεθόδους ή κατασκευαστές (σε αναλογία με τις παραμέτρους συναρτήσεων στην γλώσσα C) +
- +
-Σχετικά με την ονοματολογία των πεδίων της κλάσης μπορείτε να ανατρέξετε [[java:​class_fields#​Ονοματολογία των πεδίων (μεταβλητών) της κλάσης | εδώ ]].+
  
 ===== Βασικοί Τύποι Δεδομένων ​ ===== ===== Βασικοί Τύποι Δεδομένων ​ =====
java/variables.1456485333.txt.gz · Last modified: 2017/02/10 14:39 (external edit)