Type Casting dalam Java

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)

1. Widening Casting (Konversi Otomatis)



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

wdcfawqafwef