Τι είναι το Typecasting στην Java και πώς λειτουργεί;



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

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

Τα παρακάτω θέματα καλύπτονται σε αυτό το άρθρο:

Ας αρχίσουμε!





Τι είναι το Casting Type;

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

Υπάρχουν δύο τύποι μετάδοσης στη Java ως εξής:



  • Διεύρυνση μετάδοσης (αυτόματα) - Αυτό περιλαμβάνει τη μετατροπή ενός μικρότερου τύπου δεδομένων σε μεγαλύτερο μέγεθος.

    byte -> κοντό -> char -> int -> long -> float -> double

  • Στενή μετάδοση (χειροκίνητα) - Αυτό περιλαμβάνει τη μετατροπή ενός μεγαλύτερου τύπου δεδομένων σε έναν μικρότερο τύπο μεγέθους.



    double -> float -> long -> int -> char -> short -> byte

Τώρα ας δούμε τις λεπτομέρειες των τύπων μετάδοσης τύπου.

Διεύρυνση χύτευσης

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

Για παράδειγμα, Οι αριθμητικοί τύποι δεδομένων είναι συμβατοί μεταξύ τους, αλλά δεν υποστηρίζεται αυτόματη μετατροπή από αριθμητικό τύπο σε char ή boolean. Επίσης, τα char και boolean δεν είναι συμβατά μεταξύ τους. Τώρα ας γράψουμε μια λογική για το Implicit type casting για να κατανοήσουμε πώς λειτουργεί.

δημόσια κλάση μετατροπής {public static void main (String [] args) {int i = 200 // αυτόματη μετατροπή τύπου long l = i // αυτόματη μετατροπή τύπου f = l System.out.println ('Int value' + i) System.out.println ('Long value' + l) System.out.println ('Float value' + f)}}

Παραγωγή:

Int τιμή 200 Long value 200 Float value 200.0

Τώρα ας προχωρήσουμε περαιτέρω και να κατανοήσουμε πώς λειτουργεί το Explicit Type Casting.

Στενή χύτευση

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

Ας το καταλάβουμε με τη βοήθεια ενός παραδείγματος.

// Πρόγραμμα Java για την απεικόνιση ρητής μετατροπής τύπου δημόσια τάξη Περιορισμός {public static void main (String [] args) {double d = 200.06 // express type casting long l = (long) d // express type casting int i = (int ) l System.out.println («Double type type value» + d) // fractional part lost lost System.out.println («Long Data type value» + l) // fractional part lost System.out.println («Int Τιμή τύπου δεδομένων '+ i)}}

Παραγωγή:

Διπλή τιμή τύπου δεδομένων 200,06 Μεγάλη τιμή τύπου δεδομένων 200 Int Τιμή τύπου 200

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

Μετάδοση ρητού τύπου σε εκφράσεις

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

Παράδειγμα:

άθροισμα ψηφίων σε java
// Πρόγραμμα Java για την απεικόνιση τύπου μετάδοσης int to byte δημόσιας κλάσης ExplicitTest {public static void main (String args []) {byte b = 70 // type casting int to byte b = (byte) (b * 2) System.out .println (b)}}

Παραγωγή:

140

Σημείωση: Σε περίπτωση μεμονωμένων τελεστών το αποτέλεσμα μετατρέπεται σε int και στη συνέχεια μεταδίδεται ανάλογα.

Αυτό αφορούσε το Explicit Type Casting στην Java.Με αυτό, φτάνουμε στο τέλος αυτού του άρθρου. Εγώελπίζω να το βρήκατε ενημερωτικό. Αν θέλετε να μάθετε περισσότερα, μπορείτε να δείτε το επισης.

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

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτού του άρθρου 'Τύπος μετάδοσης σε Java' και θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό.