/ / / Προγραμματισμός: Java. Τύποι δεδομένων

Προγραμματισμός: Java. Τύποι δεδομένων

Ο τύπος δεδομένων καθορίζεται από τρία στοιχεία:

  • ένα σύνολο τιμών ή αντικειμένων ·
  • ένα σύνολο λειτουργιών που μπορούν να εφαρμοστούν σε όλες τις τιμές σε ένα σύνολο.
  • παρουσίαση δεδομένων, προσδιορίζοντας την αποθήκευσή τους.

Ποιοι είναι οι τύποι δεδομένων στην Java;

Η γλώσσα προγραμματισμού περιέχει ορισμένους προκαθορισμένους τύπους και επιτρέπει στους προγραμματιστές να ορίσουν τους δικούς τους, προσαρμοσμένους.

Στην Java, οι τύποι δεδομένων χωρίζονται σε πρωτόγονους και τύπους αναφοράς.

Το "Primitive" σημαίνει ότι το προάγειδεν είναι δυνατή η διαίρεση. Η γλώσσα προγραμματισμού δεν επιτρέπει την επέκταση ή την αλλαγή της γλώσσας προγραμματισμού της. Αυτός ο τύπος δεδομένων περιγράφεται από πρωτόγονους και άλλους τύπους που καθορίζονται από τον χρήστη.

Μια μεταβλητή πρωτόγονου τύπου περιέχει μια τιμή και μια μεταβλητή αναφοράς περιέχει τη διεύθυνση ενός αντικειμένου στη μνήμη.

τύποι δεδομένων java

Γλώσσα Java. Τύποι δεδομένων: ώρα και ημερομηνία

Τα σύνθετα δεδομένα χωρίζονται σε κλάσεις, διεπαφές και πίνακες. Τα μέλη ενός τύπου διεπαφής είναι αφηρημένες μέθοδοι και σταθερές. Στην Java, οι τύποι δεδομένων ημερομηνίας και ώρας καθορίζονται από τον κατασκευαστή Date ():

  • d = νέο Ημερομηνία ().

Μια συμβολοσειρά είναι επίσης ένα παράδειγμα ενός συνδέσμου.

Γλώσσα Java. Τύποι δεδομένων: String

Μια συμβολοσειρά είναι μια κλάση που ορίζεται στη βιβλιοθήκη Java και μπορεί να χρησιμοποιηθεί για χειρισμό κειμένου (μια ακολουθία χαρακτήρων).

Η δήλωση μιας μεταβλητής String αναφοράς έχει ως εξής: String str.

Πριν εκχωρήσετε μια αναφορά σε ένα αντικείμενο σε μια τέτοια μεταβλητή, πρέπει να τη δημιουργήσετε χρησιμοποιώντας τον νέο τελεστή. Για παράδειγμα, μπορείτε να δημιουργήσετε ένα αντικείμενο συμβολοσειράς κλάσης με το κείμενο "Γεια σας":

  • str = new String ("Γεια").

Τι συμβαίνει όταν εκτελείται αυτός ο κωδικός;Πρώτον, η μνήμη εκχωρείται και το str σχετίζεται με αυτήν τη θέση μνήμης. Αυτό δεν διαφέρει από τη δήλωση μιας αρχικής μεταβλητής. Το δεύτερο απόσπασμα κώδικα δημιουργεί ένα αντικείμενο String στη μνήμη με το κείμενο "Hello" και αποθηκεύει μια αναφορά σε αυτό (ή μια διεύθυνση μνήμης) στο str.

Οι τύποι δεδομένων που αναφέρονται στη Java επιτρέπουν επίσηςεκχωρήστε μια αναφορά σε ένα αντικείμενο που είναι αποθηκευμένο σε μια μεταβλητή σε μια άλλη. Και οι δύο αναφέρονται στο ίδιο αντικείμενο στη μνήμη. Αυτό μπορεί να επιτευχθεί ως εξής:

  • Συμβολοσειρά str1;
  • Συμβολοσειρά str2;
  • str1 = new String ("Γεια");
  • str2 = str1;

Υπάρχει μηδενική μόνιμη αναφορά που μπορεί να εκχωρηθεί σε οποιαδήποτε μεταβλητή αναφοράς. Δεν αναφέρεται σε κανένα αντικείμενο.

Το αντικείμενο String δημιουργείται χρησιμοποιώντας τον νέο τελεστή.Όμως, δεδομένου ότι οι χορδές χρησιμοποιούνται πολύ, υπάρχει ένας ευκολότερος τρόπος για τη δημιουργία του. Όλες οι γραμματοσειρές συμβολοσειρών, δηλαδή, μια ακολουθία χαρακτήρων που περικλείεται σε διπλά εισαγωγικά, αντιμετωπίζονται ως αντικείμενα συμβολοσειράς. Επομένως, αντί του νέου χειριστή, μπορείτε να χρησιμοποιήσετε κυριολεκτικά γράμματα:

  • String str1 = "Γεια σας".

Πρωτόγονοι τύποι δεδομένων Java - byte, short, int,μακρύ, char, float, double και boolean. Περιλαμβάνονται σε δύο κατηγορίες: λογική και αριθμητική. Το τελευταίο μπορεί να χωριστεί σε ακέραιους και κυμαινόμενους αριθμούς.

Οι τύποι δεδομένων ακέραιου Java είναι αριθμητικοί τύποι των οποίων οι τιμές είναι ακέραιοι. Υπάρχουν πέντε από αυτά: byte, short, int, long και char.

τύποι δεδομένων java

Εντ

Το Int είναι ένας 32-bit υπογεγραμμένος πρωτόγονος τύπος δεδομένων. Η μεταβλητή καταλαμβάνει 32 bit μνήμης. Το έγκυρο εύρος είναι -2147483648 έως 2147483647 (-231 έως 231 - ένας). Όλοι οι ακέραιοι αριθμοί σε αυτό το εύρος είναι ακέραιοι κυριολεκτικοί ή σταθεροί. Για παράδειγμα, 10, -200, 0, 30, 19 είναι int literals. Μπορούν να αντιστοιχιστούν σε μια μεταβλητή int:

  • int num1 = 21;

Οι ακέραιοι αριθμοί μπορούν να εκφραστούν ως δυαδικοί, οκταδικοί, δεκαδικοί και δεκαεξαδικοί αριθμοί.

Όταν ένα γράμμα ξεκινά με μηδέν και έχει τουλάχιστον δύο ψηφία, θεωρείται ότι είναι σε οκταδική μορφή. 0 και 00 αντιπροσωπεύουν την ίδια τιμή - μηδέν.

Όλα τα int literals σε δεκαεξαδική μορφή ξεκινούν με 0x ή 0x και πρέπει να περιέχουν τουλάχιστον ένα δεκαεξαδικό ψηφίο:

  • int num1 = 0x123.

Τα int literals σε δυαδική μορφή ξεκινούν με 0b ή 0B:

  • int num1 = 0b10101.

java δεδομένα τύπων χρόνου

Μακρύς

Πρόκειται για πρωτόγονο τύπο με υπογραφή 64 bit. Χρησιμοποιείται όταν το αποτέλεσμα ενός υπολογισμού μπορεί να υπερβαίνει το int range. Μεγάλη εμβέλεια - από -263 έως 263- 1. Όλοι οι ακέραιοι αριθμοί σε αυτό το εύρος είναι κυριολεκτικοί τύποι μεγάλου μήκους.

Για να γίνει διάκριση μεταξύ int και μεγάλων τύπων δεδομένων στην Java, το γράμμα του τελευταίου τύπου τελειώνει πάντα με L ή l.

Οι ακέραιοι μεγάλοι τύποι μεγάλου τύπου μπορούν επίσης να εκφραστούν σε οκταδική, δεκαεξαδική και δυαδική μορφή.

Όταν μια μακρά κυριολεκτική αποδίδεται σε μια μακρά μεταβλητή,Ο μεταγλωττιστής Java ελέγχει την αντιστοιχισμένη τιμή και βεβαιώνεται ότι βρίσκεται σε αποδεκτό εύρος. Διαφορετικά, θα παρουσιαστεί σφάλμα σύνταξης.

Δεδομένου ότι το εύρος του int είναι μικρότερο από το μεγάλο,η τιμή μιας μεταβλητής int μπορεί πάντα να αντιστοιχιστεί σε μια μεταβλητή τύπου long. Αλλά η αντίστροφη ανάθεση δεν είναι δυνατή ακόμη και εντός του εύρους των int. Για αυτό, χρησιμοποιείται μια ρητή ένδειξη:

  • num1 = (int) num2;

τύποι δεδομένων συμβολοσειράς java

Ψηφιόλεξη

Το Byte είναι ένας πρωτόγονος τύπος ακέραιου 8-bit. Το εύρος είναι -128 έως 127 (-27 έως 27 - ένας). Αυτός είναι ο μικρότερος ακέραιος τύπος που είναι διαθέσιμος στην Java.Κατά κανόνα, οι μεταβλητές byte χρησιμοποιούνται όταν το πρόγραμμα περιλαμβάνει πολλές τιμές στην περιοχή από -128 έως 127 ή όταν εργάζεστε με δυαδικά δεδομένα. Σε αντίθεση με τα int και τα long literals, δεν υπάρχουν γραμματοσειρές byte. Ωστόσο, μπορείτε να αντιστοιχίσετε οποιαδήποτε int literal σε μια μεταβλητή byte, καθώς επικαλύπτει το εύρος byte.

Εάν η τιμή μιας μεταβλητής είναι εκτός εύρους, η Java θα δημιουργήσει ένα σφάλμα μεταγλωττιστή.

Επιπλέον, μπορείτε να εκχωρήσετε μόνο ένα int κυριολεκτικό, αλλά όχι την τιμή που είναι αποθηκευμένη στη μεταβλητή int, καθώς αυτό θα μπορούσε να οδηγήσει σε απώλεια ακρίβειας. Αυτό θα απαιτήσει ένα ρητό cast.

  • b1 = (byte) αριθ. 1.

Μικρός

Αντιπροσωπεύει έναν αρχικό πρωτόγονο τύπο δεδομένων 16-bit υπογεγραμμένο. Το εύρος είναι από -32768 έως 32767 (ή -215 έως 215 - ένας).

Γενικά η ανάγκη για σύντομες μεταβλητέςσυμβαίνει όταν ένα πρόγραμμα χρησιμοποιεί μεγάλο αριθμό τιμών που δεν υπερβαίνουν το καθορισμένο εύρος. Δεν υπάρχει σύντομο κυριολεκτικό, αλλά μπορείτε να αντιστοιχίσετε οποιοδήποτε int κυριολεκτικό στο εύρος του σύντομου. Η τιμή μιας μεταβλητής byte μπορεί πάντα να αντιστοιχιστεί. Οι υπόλοιποι κανόνες για την εκχώρηση ενός int ή long σε ένα short είναι οι ίδιοι με τους byte.

πρωτόγονοι τύποι δεδομένων java

Απανθρακώνω

Το Char είναι 16-bit χωρίς υπογραφήέναν πρωτόγονο τύπο δεδομένων που αντιπροσωπεύει έναν χαρακτήρα Unicode. Η απουσία σημείου σημαίνει ότι η μεταβλητή δεν μπορεί να έχει αρνητική τιμή. Το εύρος είναι 0 έως 65535, το οποίο αντιστοιχεί στην κωδικοποίηση του συνόλου χαρακτήρων Unicode. Το γράμμα αντιπροσωπεύει μια τιμή char και μπορεί να εκφραστεί με τις ακόλουθες μορφές:

  • ένας χαρακτήρας που περικλείεται σε μεμονωμένα εισαγωγικά ·
  • ακολουθία χαρακτήρων ελέγχου ·
  • μια ακολουθία χαρακτήρων ελέγχου unicode ·
  • μια ακολουθία οκταδικών χαρακτήρων ελέγχου.

Ένα σύμβολο μπορεί να εκφραστεί περικλείοντάς το στομεμονωμένα εισαγωγικά: char C1 = "A". Τα διπλά εισαγωγικά υποδηλώνουν μια κυριολεκτική συμβολοσειρά που δεν μπορεί να αντιστοιχιστεί σε μια μεταβλητή char, ακόμα κι αν η συμβολοσειρά περιέχει μόνο έναν χαρακτήρα. Αυτό δεν επιτρέπεται επειδή δεν έχει εκχωρηθεί αναφορά σε μια αρχική μεταβλητή. Όλες οι γραμματοσειρές συμβολοσειρών είναι αντικείμενα συμβολοσειράς και επομένως αναφορές, ενώ οι κυριολεκτικοί χαρακτήρες είναι πρωτόγονου τύπου

Μια κυριολεκτική ακολουθία διαφυγής γράφεται ως ανάστροφη κάθετο και ακολουθεί ένας χαρακτήρας σε μεμονωμένα εισαγωγικά. Υπάρχουν συνολικά 8 από αυτά: ‘n’, ‘r’, ‘f’, ‘b’, ‘t’, ‘\’, ‘” ’,‘ ’’.

Η ακολουθία διαφυγής Unicode είναι"uxxxx", όπου u (μια ανάστροφη κάθετος που ακολουθείται από ένα πεζά u) δηλώνει την αρχή του και το xxxx αντιπροσωπεύει ακριβώς τέσσερα δεκαεξαδικά ψηφία του κωδικού χαρακτήρων Unicode. Για παράδειγμα, το "Α" είναι 65 δεκαδικό και 41 δεκαεξαδικό. Έτσι, αυτός ο χαρακτήρας μπορεί να αναπαρασταθεί ως "u0041".

Μια οκταδική ακολουθία διαφυγής γράφεται ως "nnn", όπου το n είναι ένα οκταδικό ψηφίο (0-7). Οι τιμές κυμαίνονται από "00" έως "377", όπου 3778 αντιστοιχεί σε 25510... Ως εκ τούτου, χρησιμοποιείται για την αναπαράστασηχαρακτήρες με κωδικό από 0 έως 255, που απαιτούνται για συμβατότητα με άλλες γλώσσες προγραμματισμού. Σε αντίθεση με τις ακολουθίες unicode, που απαιτούν και τα τέσσερα δεκαεξαδικά ψηφία, μπορείτε να χρησιμοποιήσετε 1, 2 ή 3 οκταδικά ψηφία εδώ: "n", "nn" ή "nnn".

τύποι δεδομένων αναφοράς java

Δυαδικός τύπος

Το Boolean έχει μόνο δύο έγκυρες τιμές:σωστό και λάθος. Ονομάζονται boolean literals. Μια δυαδική μεταβλητή δεν μπορεί να μεταφερθεί σε άλλο τύπο και αντίστροφα Η Java δεν καθορίζει το μέγεθος του boolean - εξαρτάται από τη συγκεκριμένη εφαρμογή του JVM.

Τύποι δεδομένων κινούμενου σημείου Java

Ένας αριθμός που περιέχει ένα κλασματικό μέρος στη μνήμηΟ υπολογιστής μπορεί να αποθηκευτεί σε αναπαράσταση με έναν σταθερό αριθμό ψηφίων πριν και μετά το σημείο ή υποδεικνύοντας τη θέση του. Δεδομένου ότι ο αριθμός των ψηφίων μπορεί να ποικίλει, λέγεται ότι το σημείο "επιπλέει".

Στη γλώσσα Java, οι τύποι δεδομένων κινούμενου σημείου χρησιμοποιούν 32 bit. Σύμφωνα με το πρότυπο IEEE 754, αυτό αντιστοιχεί σε μία ακρίβεια, η οποία σας επιτρέπει να αντιπροσωπεύετε, για παράδειγμα, αριθμούς 1,4 x 10-45 και 3,4 x 1038, τόσο θετικά όσο και αρνητικά.

Όλοι οι πραγματικοί αριθμοί που τελειώνουν σε f ή F ονομάζονται κυμαινόμενοι κυριολεκτικοί. Μπορούν να αναπαρασταθούν σε δεκαδική μορφή και σε επιστημονική σημειογραφία. Για παράδειγμα:

  • float f1 = 3.25F;
  • float f2 = 32.5E-1F;
  • float f3 = 0,325E + 1F.

Ο τύπος ορίζει δύο μηδενικά: + 0,0F (ή 0,0F) και -0,0F.Ωστόσο, για λόγους σύγκρισης, και τα δύο μηδενικά θεωρούνται ίδια Επιπλέον, ορίζει δύο τύπους άπειρου: θετικό και αρνητικό. Τα αποτελέσματα ορισμένων λειτουργιών (για παράδειγμα, διαίρεση 0,0F με 0,0F) δεν είναι καθορισμένα και αντιπροσωπεύονται από την ειδική τιμή NaN.

τύποι δεδομένων ημερομηνίας και ώρας java

Διπλή ακρίβεια

Το διπλό χρησιμοποιεί 64 bit για την αποθήκευση αριθμών κινητής υποδιαστολής. Οι αριθμοί διπλής ακρίβειας μπορούν να αντιπροσωπεύουν θετικές και αρνητικές τιμές 4,9 x 10-324 και 1,7 x 10308.

Όλοι οι πραγματικοί αριθμοί είναι από προεπιλογήδιπλά γράμματα. Προαιρετικά, μπορούν να δηλωθούν ρητά με το επίθημα d ή D, για παράδειγμα, 19.27d. Το διπλό γράμμα μπορεί να εκφραστεί σε δεκαδική μορφή και σε επιστημονική σημειογραφία.

Αρέσει:
0
Δημοφιλή μηνύματα
Πνευματική Ανάπτυξη
Φαγητό
yup