ΥπολογιστέςΠρογραμματισμός

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

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

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

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

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

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

«Πρωτόγονη» σημαίνει ότι μια περαιτέρω διαίρεση είναι αδύνατη. Ανάπτυξη ή δεν επιτρέπει να αλλάξετε τη γλώσσα προγραμματισμού του. Μια τέτοια πρωτόγονη τύπο δεδομένων που περιγράφεται και άλλων τύπων χρηστών.

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

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

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

  • d = new Date ().

Ένα παράδειγμα αναφοράς ως συμβολοσειρά.

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

Το string είναι μια κατηγορία που ορίζεται στη βιβλιοθήκη της Java, και μπορεί να χρησιμοποιηθεί για την επεξεργασία κειμένου (ακολουθία χαρακτήρων).

Διαφημίσεις αναφοράς String-μεταβλητή ως εξής: String str.

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

  • str = νέα String ( "Hello").

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

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

  • String str1?
  • String str2?
  • str1 = νέα String ( "Hello")?
  • str2 = str1?

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

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

  • String str1 = "Hello".

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

Ολόκληρη η Java στοιχεία τύποι αριθμητικών τύπων των οποίων οι τιμές είναι ακέραιοι αριθμοί. Πέντε από αυτά: byte, μικρή, int, μακρύ, και χαρα.

Int

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

  • int NUM1 = 21?

Ακέραιος literals μπορεί να εκφραστεί σε δυαδικό, οκταδικό, δεκαδικό και δεκαεξαδικών αριθμών.

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

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

  • int NUM1 = 0x123.

Int-literals με τη μορφή ενός δυαδικού αριθμού ξεκινά με 0B ή 0Β:

  • int NUM1 = 0b10101.

μακρύς

Πρόκειται για ένα 64-bit υπέγραψε πρωτόγονο είδος. Κάποτε, όταν το αποτέλεσμα του υπολογισμού μπορεί να υπερβαίνει το int φάσμα. Κυμαίνονται μακράς - -2 63-2 63 - 1. Όλοι οι ακέραιοι που κυμαίνονται literals είναι μακρά τύπου.

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

Ακέραιος Literals μακρύ τύπου μπορεί επίσης να εκφραστεί σε οκταδικό, δεκαεξαδικό, και δυαδικά μορφές.

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

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

  • NUM1 = (int) NUM2?

byte

Byte είναι ένα 8-bit μια πρωτόγονη τύπο. Η γκάμα της - 127 - -128 (-2 7 2 7 - 1). Αυτός είναι ο μικρότερος ακέραιος τύπου, που διατίθεται σε Java. Συνήθως, οι μεταβλητές byte χρησιμοποιούνται όταν το πρόγραμμα περιλάμβανε πολλές τιμές στο εύρος των -128 έως 127, ή κατά την εργασία με δυαδικά δεδομένα. Σε αντίθεση με κυριολεκτική int, είναι μεγάλη, byte-λεκτικές λείπει. Ωστόσο, μπορείτε να ορίσετε οποιαδήποτε μεταβλητή byte-int-κυριολεκτική, αφού καλύπτει μια σειρά από bytes.

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

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

  • b1 = (byte) NUM1.

σύντομο

Είναι μια 16-bit που υπεγράφη ακέραιος τύπος δεδομένων των πρωτόγονων. Η γκάμα της - -32.768 - 32767 (ή -2 από 15 μέχρι 2 15 - 1).

Κατά γενικό κανόνα, η ανάγκη για σύντομες μεταβλητή παρουσιάζεται όταν το πρόγραμμα χρησιμοποιεί ένα μεγάλο αριθμό των αξιών που δεν υπερβαίνουν το καθορισμένο εύρος. Short-κυριολεκτική λείπει, αλλά η δυνατότητα να ορίσετε οποιαδήποτε κυριολεκτική int σε μια σειρά από σύντομες. Byte-τιμής μιας μεταβλητής μπορεί να ανατεθεί φορές. Άλλοι κανόνες ορίσετε ένα int ή ένα μακρύ μικρής μεταβλητή είναι η ίδια όπως και για ένα byte.

char

Char είναι ένα ανυπόγραφο 16-bit πρωτόγονη τύπο δεδομένων που αντιπροσωπεύει το χαρακτήρα Unicode. Καμία ένδειξη δηλώνει ότι η μεταβλητή δεν μπορεί να είναι αρνητική. Σειρά - από 0 έως 65.535, το οποίο συμπίπτει με το σύνολο κωδικοποίηση Unicode χαρακτήρων. Μια γραμματική είναι αξία char και μπορεί να εκφράζεται με τις ακόλουθες μορφές:

  • χαρακτήρας περικλείεται σε μονά εισαγωγικά?
  • μια ακολουθία συμβόλων ελέγχου?
  • μια ακολουθία χαρακτήρων ελέγχου Unicode?
  • μια ακολουθία οκταδικό χαρακτήρες ελέγχου.

Σύμβολο μπορεί να εκφράζεται περικλειστεί σε μονά εισαγωγικά: char C1 = «Α». Διπλά εισαγωγικά σημάδια δείχνουν μια σειρά κυριολεκτική ότι δεν μπορεί να ανατεθεί η χαρα-μεταβλητή, ακόμη και αν η σειρά είναι ακριβώς ένα χαρακτήρα. Αυτό είναι απαράδεκτο, διότι η σύνδεση δεν είναι μια πρωτόγονη μεταβλητή έχει εκχωρηθεί. Όλες οι κατεξοχήν συμβολοσειρά υπόκεινται σε κλάση String και ως εκ τούτου, αναφέρεται, ενώ χαρακτήρας ανήκει σε ένα πρωτόγονο είδος.

Κυριολεκτική εκφρασμένη αλληλουχία ελέγχου, καταγράφεται ως το σύμβολο ανάποδη μονά εισαγωγικά. Ένα σύνολο 8: '\ n', '\ r', '\ f', '\ t' '\ β',, '\\', '\ «', '\' '.

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

Οκταδικό ακολουθία διαφυγής είναι γραμμένο ως «\ nnn», όπου n - οκταδικό ψηφίο (0-7). Το εύρος τιμής - από '\ 000' σε '\ 377', το οποίο αντιστοιχεί σε 8 377 255 10. Ως εκ τούτου, χρησιμοποιείται για να αντιπροσωπεύσει τους χαρακτήρες με κωδικό 0 έως 255, που απαιτείται για τη διαλειτουργικότητα με άλλες γλώσσες προγραμματισμού. Σε αντίθεση με σειρά Unicode, όπου είναι απαραίτητο, τα τέσσερα δεκαεξαδικά ψηφία, μπορείτε να χρησιμοποιήσετε 1, 2 ή 3 οκταδικό: '\ n', '\ NN' ή '\ nnn'.

Boolean

Boolean έχει μόνο δύο πραγματικές τιμές: αληθής (true) και false (ψευδές). Καλούνται Boolean λεκτικές. Μια λογική μεταβλητή δεν μπορεί να δοθεί σε έναν άλλο τύπο, και το αντίστροφο. Java δεν ορίζει δυαδική μέγεθος - αυτό εξαρτάται από τη συγκεκριμένη εφαρμογή των εικονικών μηχανών Java,.

τύποι δεδομένων Java κινητής υποδιαστολής

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

Οι τύποι Java γλώσσα των δεδομένων κινητής υποδιαστολής χρησιμοποιώντας 32 bits. Σύμφωνα με ΙΕΕΕ 754, αυτό αντιστοιχεί σε μία απλής ακρίβειας, η οποία επιτρέπει να αντιπροσωπεύουν, για παράδειγμα, τον αριθμό 1.4 χ 10 -45 και 3.4 χ 10 38, με θετικά και αρνητικά.

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

  • επιπλέουν f1 = 3.25F?
  • επιπλέουν f2 = 32.5E-1F?
  • επιπλέουν f3 = 0.325E + 1F.

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

διπλής ακρίβειας

Για την αποθήκευση των κινητής υποδιαστολής διπλής χρησιμοποιεί 64 bits. Ο αριθμός των διπλής ακρίβειας μπορεί να είναι τόσο θετικές όσο και αρνητικές τιμές του μεγέθους των 4.9 -324 χ 10 και 1,7 χ 10.308.

Όλες οι πραγματικοί αριθμοί είναι από προεπιλογή διπλό λεκτικές. Προαιρετικά μπορεί να υποδηλώσει ρητά το επίθημα d ή D, π.χ., 19.27d. Διπλό γραμματική μπορεί να εκφραστεί σε δεκαδική μορφή και σε επιστημονική σημειογραφία.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 el.atomiyme.com. Theme powered by WordPress.