Type Casting merupakan metode atau
cara yang digunakan untuk mengubah tipe data pada variabel. Seringkali dalam
pembuatan program diperlukan langkah untuk mengubah suatu tipe data menjadi
tipe data yang lainnya. Nah, proses yang digunakan untuk mengubah suatu tipe
data ke tipe data yang lain itulah yang disebut dengan istilah Type Casting atau
pengarah tipe. Bentuk dari type casting adalah sebagai berikut :
(tipe-data) data
Sebagai contohnya, terdapat
pendeklarasian sebagai berikut :
int i = 65; char huruf;
Supaya nilai i bisa disimpan ke variabel huruf, maka
nilai i perlu diubah menjadi tipe char dengan cara
sebagai berikut :
huruf = (char) i;
Agar tidak ada nilai yang hilang, tipe tujuan harus memiliki ukuran yang
lebih besar atau minimal sama dengan ukuran tipe sumber. Dibawah ini
memperlihatkan casting tipe atau pengarah tipe yang dapat dilakukan dengan
tanpa menghilangkan nilai.
Tipe Sumber
|
Tipe Tujuan
|
byte
|
short, char, int, long, float, double
|
short
|
int, long, float, double
|
char
|
int, long, float, double
|
int
|
long, float, double
|
long
|
float, double
|
float
|
double
|
Didalam Java, Type Casting dibedakan menjadi dua tipe
- Widening Casting (Konversi Otomatis)
- Narrowing Casting (Konversi Tipe Data yang Tidak Kompatibel)
Contoh Programnya :
public class Test { public static void main(String[] args) { int i = 100; long l = i; //no explicit type casting required float f = l; //no explicit type casting required System.out.println("Int bernilai "+i); System.out.println("Long bernilai "+l); System.out.println("Float bernilai "+f); } }
Hasilnya :
Int bernilai 100 Long bernilai 100 Float bernilai 100.0
2. Narrowing Casting (Konversi Tipe Data yang Tidak Kompatibel)
Contoh Programnya :
public class Test { public static void main(String[] args) { double d = 100.04; long l = (long)d; //explicit type casting required int i = (int)l; //explicit type casting required System.out.println("Double bernilai "+d); System.out.println("Long bernilai "+l); System.out.println("Int bernilai "+i); } }
Hasilnya :
Double bernilai 100.04 Long bernilai 100 Int bernilai 100
Contoh lainnya :
public class DemoKonversi { public static void main(String[] args) { int a = 257; double d = 274.5678; // typecasting dari tipe int ke tipe byte byte b; b = (byte) a; System.out.println("Typecasting dari tipe int ke tipe byte"); System.out.println("int: " + a); System.out.println("byte: " + b); // typecasting dari tipe double ke tipe int int x; x = (int) d; System.out.println("\nTypecasting dari tipe double " + "ke tipe int"); System.out.println("double: " + d); System.out.println("int: " + x); // type casting dari tipe double ke tipe byte b = (byte) d; System.out.println("\nTypecasting dari tipe double " + "ke tipe byte"); System.out.println("double: " + d); System.out.println("byte: " + b); } }
Hasilnya :
Typecasting dari tipe int ke tipe byte int: 257 byte: 1 Typecasting dari tipe double ke tipe int double: 274.5678 int: 274 Typecasting dari tipe double ke tipe byte double: 274.5678 byte: 18
0 Response to " Type Casting dalam Java "
Posting Komentar