Java Μεταβλητές και τύποι δεδομένων
Τι είναι μια μεταβλητή σε Java?
Μεταβλητή σε Java είναι ένα κοντέινερ δεδομένων που αποθηκεύει τις τιμές δεδομένων κατά τη διάρκεια Java εκτέλεση προγράμματος. Σε κάθε μεταβλητή εκχωρείται τύπος δεδομένων που προσδιορίζει τον τύπο και την ποσότητα της τιμής που μπορεί να κρατήσει. Η μεταβλητή είναι ένα όνομα θέσης μνήμης των δεδομένων. Ο Java Οι μεταβλητές έχουν κυρίως τρεις τύπους: Local, Instance και Static.
Για να χρησιμοποιήσετε μια μεταβλητή σε ένα πρόγραμμα πρέπει να εκτελέσετε 2 βήματα
- Μεταβλητή δήλωση
- Μεταβλητή εκκίνηση
Πώς να δηλώσετε μεταβλητές σε Java?
Για να δηλώσετε μια μεταβλητή, πρέπει να καθορίσετε τον τύπο δεδομένων και να δώσετε στη μεταβλητή ένα μοναδικό όνομα.
Παραδείγματα άλλων Έγκυρων Δηλώσεων είναι
int a,b,c; float pi; double d; char a;
Πώς να αρχικοποιήσετε μεταβλητές σε Java?
Για να αρχικοποιήσετε μια μεταβλητή, πρέπει να της εκχωρήσετε μια έγκυρη τιμή.
Παραδείγματα άλλων έγκυρων αρχικοποιήσεων είναι
pi =3.14f; do =20.22d; a=’v’;
Μπορείτε να συνδυάσετε δήλωση μεταβλητής και αρχικοποίηση.
Παράδειγμα:
int a=2,b=4,c=6; float pi=3.14f; double do=20.22d; char a=’v’;
Τύποι μεταβλητών σε Java
In Java, υπάρχουν τρεις τύποι μεταβλητών:
- Τοπικές μεταβλητές
- Μεταβλητές Στιγμιότυπου
- Στατικές Μεταβλητές
1) Τοπικές μεταβλητές
Οι τοπικές μεταβλητές είναι μια μεταβλητή που δηλώνεται μέσα στο σώμα μιας μεθόδου.
2) Μεταβλητές Στιγμιότυπου
Οι μεταβλητές παρουσίας ορίζονται χωρίς τη στατική λέξη-κλειδί. Δηλώνονται έξω από οποιαδήποτε μέθοδο, κατασκευαστή ή μπλοκ. Αυτές οι μεταβλητές είναι συγκεκριμένες για κάθε παρουσία μιας κλάσης και είναι γνωστές ως μεταβλητές στιγμιότυπου.
3) Στατικές Μεταβλητές
Οι στατικές μεταβλητές αρχικοποιούνται μόνο μία φορά, τη στιγμή της φόρτωσης της κλάσης, πριν ξεκινήσει η εκτέλεση του προγράμματος. Αυτές οι μεταβλητές μοιράζονται σε όλα τα στιγμιότυπα μιας κλάσης και αρχικοποιούνται πριν από οποιαδήποτε μεταβλητή παρουσίας.
Τύποι μεταβλητών σε Java με παραδείγματα
class Guru99 { static int a = 1; //static variable int data = 99; //instance variable void method() { int b = 90; //local variable } }
Σε τι περιλαμβάνονται οι τύποι δεδομένων Java?
Τύποι δεδομένων σε Java ορίζονται ως προσδιοριστές που εκχωρούν διαφορετικά μεγέθη και τύπους τιμών που μπορούν να αποθηκευτούν στη μεταβλητή ή σε ένα αναγνωριστικό. Java έχει ένα πλούσιο σύνολο τύπων δεδομένων. Τύποι δεδομένων σε Java μπορεί να χωριστεί σε δύο μέρη:
- Πρωτόγονοι τύποι δεδομένων :- που περιλαμβάνουν ακέραιο, χαρακτήρα, boolean και float
- Μη πρωτόγονοι τύποι δεδομένων : - που περιλαμβάνουν κλάσεις, πίνακες και διεπαφές.
Πρωτόγονοι τύποι δεδομένων
Οι πρωτόγονοι τύποι δεδομένων είναι προκαθορισμένοι και διαθέσιμοι εντός του Java γλώσσα. Οι πρωτόγονες τιμές δεν μοιράζονται την κατάσταση με άλλες πρωτόγονες τιμές.
Υπάρχουν 8 πρωτόγονοι τύποι: byte, short, int, long, char, float, double και boolean
Ακέραιοι τύποι δεδομένων
byte (1 byte) short (2 bytes) int (4 bytes) long (8 bytes)
Κυμαινόμενος τύπος δεδομένων
float (4 bytes) double (8 bytes)
Τύπος δεδομένων κειμένου
char (2 bytes)
λογικός
boolean (1 byte) (true/false)
Τύπος δεδομένων | Προεπιλεγμένη τιμή | Προεπιλεγμένο μέγεθος |
---|---|---|
byte | 0 | 1 byte |
μικρός | 0 | 2 bytes |
int | 0 | 4 bytes |
μακρύς | 0L | 8 bytes |
φλοτέρ | 0.0f | 4 bytes |
διπλασιαστεί | 0.0d | 8 bytes |
boolean | ψευδής | 1 λίγο |
δεξαμενή | '\u0000' | 2 bytes |
Σημεία που πρέπει να θυμάστε:
- Όλοι οι τύποι αριθμητικών δεδομένων είναι υπογεγραμμένοι (+/-).
- Το μέγεθος των τύπων δεδομένων παραμένει το ίδιο σε όλες τις πλατφόρμες (τυποποιημένο)
- τύπος δεδομένων char in Java είναι 2 byte γιατί χρησιμοποιεί UNICODE σύνολο χαρακτήρων. Δυνάμει αυτού, Java υποστηρίζει τη διεθνοποίηση. Το UNICODE είναι ένα σύνολο χαρακτήρων που καλύπτει όλα τα γνωστά σενάρια και τη γλώσσα στον κόσμο
Java Μετατροπή μεταβλητού τύπου & Casting τύπου
Μια μεταβλητή ενός τύπου μπορεί να λάβει την τιμή ενός άλλου τύπου. Εδώ υπάρχουν 2 περιπτώσεις -
Περίπτωση 1) Η μεταβλητή μικρότερης χωρητικότητας εκχωρείται σε άλλη μεταβλητή μεγαλύτερης χωρητικότητας.
Αυτή η διαδικασία είναι Αυτόματη και η μη ρητή είναι γνωστή ως Μετατροπή
Περίπτωση 2) Η μεταβλητή μεγαλύτερης χωρητικότητας εκχωρείται σε άλλη μεταβλητή μικρότερης χωρητικότητας
Σε τέτοιες περιπτώσεις, πρέπει να προσδιορίσετε ρητά το τύπου cast operator. Αυτή η διαδικασία είναι γνωστή ως Τύπος Casting.
Σε περίπτωση που δεν προσδιορίσετε έναν τύπο τελεστή cast. ο μεταγλωττιστής δίνει ένα σφάλμα. Εφόσον αυτός ο κανόνας επιβάλλεται από τον μεταγλωττιστή, ενημερώνει τον προγραμματιστή ότι η μετατροπή που πρόκειται να κάνει μπορεί να προκαλέσει κάποια απώλεια δεδομένων και αποτρέπει τυχαίες απώλειες.
Παράδειγμα: Για να κατανοήσετε το Type Casting
Βήμα 1) Αντιγράψτε τον παρακάτω κώδικα σε ένα πρόγραμμα επεξεργασίας.
class Demo { public static void main(String args[]) { byte x; int a = 270; double b = 128.128; System.out.println("int converted to byte"); x = (byte) a; System.out.println("a and x " + a + " " + x); System.out.println("double converted to int"); a = (int) b; System.out.println("b and a " + b + " " + a); System.out.println("\ndouble converted to byte"); x = (byte)b; System.out.println("b and x " + b + " " + x); } }
Βήμα 2) Αποθηκεύστε, μεταγλωττίστε και εκτελέστε τον κώδικα.
Αναμενόμενη παραγωγή:
int converted to byte a and x 270 14 double converted to int b and a 128.128 128 double converted to byte b and x 128.128 -128