Μετάδοση τύπου Java (με παραδείγματα)

Σε αυτό το σεμινάριο, θα μάθουμε για το Java Type Casting και τους τύπους του με τη βοήθεια παραδειγμάτων.

Προτού μάθετε για το Java Type Casting , βεβαιωθείτε ότι γνωρίζετε για τους τύπους δεδομένων Java.

Τύπος μετάδοσης

Η διαδικασία της μετατροπής της αξίας ενός τύπου δεδομένων ( int, float, double, κλπ) σε έναν άλλο τύπο δεδομένων που είναι γνωστό ως typecasting.

Στην Java, υπάρχουν 13 τύποι μετατροπής τύπου. Ωστόσο, σε αυτό το σεμινάριο, θα επικεντρωθούμε μόνο στους βασικούς 2 τύπους.

1. Χύτευση τύπου διεύρυνσης

2. Στενός τύπος χύτευσης

Για να μάθετε σχετικά με άλλους τύπους μετατροπών τύπου, επισκεφθείτε τη Java Type Conversion (επίσημη τεκμηρίωση Java).

Χύτευση τύπου διεύρυνσης

Στο Casting Type Widening , η Java μετατρέπει αυτόματα έναν τύπο δεδομένων σε έναν άλλο τύπο δεδομένων.

Παράδειγμα: Μετατροπή int σε διπλό

 class Main ( public static void main(String() args) ( // create int type variable int num = 10; System.out.println("The integer value: " + num); // convert into double type double data = num; System.out.println("The double value: " + data); ) ) 

Παραγωγή

 Η ακέραια τιμή: 10 Η διπλή τιμή: 10.0 

Στο παραπάνω παράδειγμα, εκχωρούμε τη intμεταβλητή τύπου που ονομάζεται num σε μια doubleμεταβλητή τύπου που ονομάζεται δεδομένα.

Εδώ, η Java μετατρέπει πρώτα τα intδεδομένα τύπου σε doubleτύπο. Και μετά εκχωρήστε το στη doubleμεταβλητή.

Στην περίπτωση Casting Type Widening , ο χαμηλότερος τύπος δεδομένων (με μικρότερο μέγεθος) μετατρέπεται στον υψηλότερο τύπο δεδομένων (με μεγαλύτερο μέγεθος). Ως εκ τούτου, δεν υπάρχει απώλεια δεδομένων. Αυτός είναι ο λόγος για τον οποίο αυτός ο τύπος μετατροπής συμβαίνει αυτόματα.

Σημείωση : Αυτό είναι επίσης γνωστό ως Implicit Type Casting .

Στενός τύπος χύτευσης

Στην Περιορισμένη μετάδοση τύπου, μετατρέπουμε μη αυτόματα έναν τύπο δεδομένων σε έναν άλλο χρησιμοποιώντας την παρένθεση.

Παράδειγμα: Μετατροπή διπλού σε int

 class Main ( public static void main(String() args) ( // create double type variable double num = 10.99; System.out.println("The double value: " + num); // convert into int type int data = (int)num; System.out.println("The integer value: " + data); ) ) 

Παραγωγή

 Η διπλή τιμή: 10,99 Η ακέραια τιμή: 10 

Στο παραπάνω παράδειγμα, εκχωρούμε τη doubleμεταβλητή τύπου που ονομάζεται num σε μια intμεταβλητή τύπου που ονομάζεται δεδομένα.

Παρατηρήστε τη γραμμή,

 int data = (int)num; 

Εδώ, η intλέξη-κλειδί μέσα στην παρένθεση δείχνει ότι η μεταβλητή αριθμού μετατρέπεται στον intτύπο.

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

Σημείωση : Αυτό είναι επίσης γνωστό ως Explicit Type Casting .

Ας δούμε μερικά από τα παραδείγματα μετατροπών άλλων τύπων στην Java.

Παράδειγμα 1: Μετατροπή τύπου από int σε String

 class Main ( public static void main(String() args) ( // create int type variable int num = 10; System.out.println("The integer value is: " + num); // converts int to string type String data = String.valueOf(num); System.out.println("The string value is: " + data); ) ) 

Παραγωγή

 Η ακέραια τιμή είναι: 10 Η τιμή συμβολοσειράς είναι: 10 

Στο παραπάνω πρόγραμμα, παρατηρήστε τη γραμμή

 String data = String.valueOf(num); 

Εδώ, χρησιμοποιήσαμε τη valueOf()μέθοδο της κλάσης Java String για να μετατρέψουμε τη μεταβλητή τύπου int σε συμβολοσειρά.

Παράδειγμα 2: Μετατροπή τύπου από String σε int

 class Main ( public static void main(String() args) ( // create string type variable String data = "10"; System.out.println("The string value is: " + data); // convert string variable to int int num = Integer.parseInt(data); System.out.println("The integer value is: " + num); ) ) 

Παραγωγή

 Η τιμή συμβολοσειράς είναι: 10 Η ακέραια τιμή είναι: 10 

Στο παραπάνω παράδειγμα, παρατηρήστε τη γραμμή

 int num = Integer.parseInt(data); 

Εδώ, χρησιμοποιήσαμε τη parseInt()μέθοδο της Integerκλάσης Java για να μετατρέψουμε μια μεταβλητή τύπου συμβολοσειράς σε μια intμεταβλητή.

Σημείωση : Εάν η μεταβλητή συμβολοσειράς δεν μπορεί να μετατραπεί σε ακέραια μεταβλητή τότε NumberFormatExceptionσυμβαίνει μια εξαίρεση που ονομάζεται .

ενδιαφέροντα άρθρα...