Casting Jenis Java (Dengan Contoh)

Dalam tutorial ini, kita akan belajar mengenai Java Type Casting dan jenisnya dengan bantuan contoh.

Sebelum anda mengetahui tentang Java Type Casting , pastikan anda mengetahui tentang Jenis Data Java.

Jenis Pemutus

Proses menukarkan nilai satu jenis data ( int, float, double, dll) untuk jenis data lain dikenali sebagai typecasting.

Di Jawa, terdapat 13 jenis penukaran jenis. Walau bagaimanapun, dalam tutorial ini, kita hanya akan menumpukan pada 2 jenis utama.

1. Casting Jenis Pelebaran

2. Pemutus Jenis Sempit

Untuk mengetahui mengenai jenis penukaran jenis lain, kunjungi Java Type Conversion (dokumentasi Java rasmi).

Pemutus Jenis Pelebaran

Dalam Pelebaran Jenis Pelebaran , Java secara automatik menukar satu jenis data ke jenis data yang lain.

Contoh: Menukar int menjadi dua kali ganda

 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); ) ) 

Pengeluaran

 Nilai integer: 10 Nilai berganda: 10.0 

Dalam contoh di atas, kami menetapkan intpemboleh ubah jenis bernama num kepada doublepemboleh ubah jenis bernama data.

Di sini, Java terlebih dahulu menukar intdata jenis menjadi doublejenis. Dan kemudian tetapkannya kepada doublepemboleh ubah.

Dalam kes Casting Type Widening , jenis data yang lebih rendah (mempunyai ukuran yang lebih kecil) diubah menjadi jenis data yang lebih tinggi (memiliki ukuran yang lebih besar). Oleh itu tidak ada kehilangan data. Inilah sebabnya penukaran jenis ini berlaku secara automatik.

Catatan : Ini juga dikenali sebagai Implisit Type Casting .

Pemutus Jenis Sempit

Dalam Penghantaran Jenis Sempit , kami secara manual menukar satu jenis data menjadi satu yang lain menggunakan kurungan.

Contoh: Menukar dua kali ganda menjadi 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); ) ) 

Pengeluaran

 Nilai berganda: 10.99 Nilai integer: 10 

Dalam contoh di atas, kami menetapkan doublepemboleh ubah jenis bernama num ke intpemboleh ubah jenis bernama data.

Perhatikan garis,

 int data = (int)num; 

Di sini, intkata kunci dalam kurungan menunjukkan bahawa pemboleh ubah num ditukar menjadi intjenis.

Dalam kes Casting Type Narrowing , jenis data yang lebih tinggi (mempunyai ukuran yang lebih besar) diubah menjadi jenis data yang lebih rendah (mempunyai ukuran yang lebih kecil). Oleh itu terdapat kehilangan data. Inilah sebabnya mengapa penukaran jenis ini tidak berlaku secara automatik.

Catatan : Ini juga dikenali sebagai Casting Jenis Eksplisit .

Mari kita lihat beberapa contoh penukaran jenis lain di Java.

Contoh 1: Penukaran jenis dari int ke 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); ) ) 

Pengeluaran

 Nilai integer adalah: 10 Nilai rentetan ialah: 10 

Dalam program di atas, perhatikan garisnya

 String data = String.valueOf(num); 

Di sini, kami telah menggunakan valueOf()kaedah kelas Java String untuk menukar pemboleh ubah jenis int menjadi rentetan.

Contoh 2: Penukaran jenis dari String ke 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); ) ) 

Pengeluaran

 Nilai rentetan ialah: 10 Nilai integer adalah: 10 

Dalam contoh di atas, perhatikan garisnya

 int num = Integer.parseInt(data); 

Di sini, kami telah menggunakan parseInt()kaedah Integerkelas Java untuk menukar variabel jenis rentetan menjadi intpemboleh ubah.

Catatan : Sekiranya pemboleh ubah rentetan tidak dapat diubah menjadi pemboleh ubah integer maka berlaku pengecualian bernama NumberFormatException.

Artikel menarik...