Dalam tutorial ini, kita akan belajar tentang Java Type Casting dan tipenya dengan bantuan contoh.
Sebelum Anda mempelajari tentang Java Type Casting , pastikan Anda mengetahui tentang Jenis Data Java.
Ketik Casting
Proses konversi nilai satu jenis data ( int
, float
, double
, dll) untuk tipe data lain yang dikenal sebagai typecasting.
Di Jawa ada 13 tipe konversi tipe. Namun, dalam tutorial ini, kami hanya akan fokus pada 2 tipe utama.
1. Jenis Pelebaran Casting
2. Jenis Pengecoran Sempit
Untuk mempelajari tentang tipe konversi tipe lainnya, kunjungi Java Type Conversion (dokumentasi resmi Java).
Jenis Pelebaran Casting
Dalam Widening Type Casting , Java secara otomatis mengubah satu tipe data ke tipe data lainnya.
Contoh: Mengonversi int menjadi double
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); ) )
Keluaran
Nilai integer: 10 Nilai ganda: 10.0
Dalam contoh di atas, kami menugaskan int
variabel tipe bernama num ke double
variabel tipe bernama data.
Di sini, Java pertama-tama mengubah int
tipe data menjadi double
tipe. Dan kemudian tetapkan ke double
variabel.
Dalam kasus Widening Type Casting , tipe data yang lebih rendah (memiliki ukuran yang lebih kecil) diubah menjadi tipe data yang lebih tinggi (memiliki ukuran yang lebih besar). Karenanya tidak ada kehilangan data. Inilah mengapa jenis konversi ini terjadi secara otomatis.
Catatan : Ini juga dikenal sebagai Pengecoran Jenis Implisit .
Jenis Pengecoran Sempit
Dalam Narrowing Type Casting , kami secara manual mengonversi satu jenis data ke yang lain menggunakan tanda kurung.
Contoh: Mengonversi 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); ) )
Keluaran
Nilai ganda: 10,99 Nilai integer: 10
Dalam contoh di atas, kami menugaskan double
variabel tipe bernama num ke int
variabel tipe bernama data.
Perhatikan garisnya,
int data = (int)num;
Di sini, int
kata kunci di dalam tanda kurung menunjukkan bahwa variabel num diubah menjadi int
tipe.
Dalam kasus Narrowing Type Casting , tipe data yang lebih tinggi (memiliki ukuran lebih besar) diubah menjadi tipe data yang lebih rendah (memiliki ukuran lebih kecil). Karenanya ada kehilangan data. Inilah mengapa jenis konversi ini tidak terjadi secara otomatis.
Catatan : Ini juga dikenal sebagai Explicit Type Casting .
Mari kita lihat beberapa contoh konversi tipe lain di Jawa.
Contoh 1: Ketik konversi 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); ) )
Keluaran
Nilai integernya adalah: 10 Nilai stringnya adalah: 10
Dalam program di atas, perhatikan barisnya
String data = String.valueOf(num);
Di sini, kami telah menggunakan valueOf()
metode kelas String Java untuk mengubah variabel tipe int menjadi string.
Contoh 2: Ketik konversi 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); ) )
Keluaran
Nilai stringnya adalah: 10 Nilai integernya adalah: 10
Pada contoh di atas, perhatikan barisnya
int num = Integer.parseInt(data);
Di sini, kami telah menggunakan parseInt()
metode Integer
kelas Java untuk mengubah variabel tipe string menjadi int
variabel.
Catatan : Jika variabel string tidak dapat diubah menjadi variabel integer maka pengecualian bernama NumberFormatException
terjadi.