Casting Tipe Data Java

Casting Tipe Data Java

Tipe Casting Java #

Tipe casting digunakan ketika Anda ingin mengganti tipe data variabel primitif ke tipe data lainnya.

Terdapat 2 tipe casting di Java:

  • Widening Casting (otomatis) – mengubah ukuran tipe data yang lebih kecil ke tipe data ukuran yang lebih besar.
    byte -> short -> char -> int -> long -> float -> double
  • Narrowing Casting (manual) – mengubah ukuran tipe data yang lebih besar ke tipe data ukuran yang lebih kecil.
    double -> float -> long -> int -> char -> short -> byte

Ukuran tipe data ditentukan oleh range nilainya.

Widening Casting #

Widening casting dilakukan secara otomatis saat mengubah jenis ukuran tipe data yang lebih kecil ke ukuran tipe data yang lebih besar. Contoh:

public class Main {
  public static void main(String[] args) {
    int varInt = 9;
    double varDouble= varInt ;     // Casting otomatis: int ke double

    System.out.println(varInt );   // hasil 9
    System.out.println(varDouble); // hasil 9.0
  }
}

Output :

9
9.0

Pada contoh di atas terlihat bahwa tipe data double mempunyai ukuran yang lebih besar daripada tipe data int. Akibatnya tipe data int dapat secara otomatis diganti ke tipe data double. Hal yang sama akan terjadi apabila Anda ingin mengubah variabel dengan tipe data byte ke short, short ke int, int ke long atau float ke double.

Narrowing Casting #

Narrowing casting dilakukan secara manual dengan menempatkan jenis tipe data baru di depan variabel yang akan dicasting. Contoh:

public class Main {
  public static void main(String[] args) {
    double varDouble  = 9.78d;
    int varInt = (int) varDouble ;   // Casting manual: double ke int

    System.out.println(varDouble);   // Hasil 9.78
    System.out.println(varInt);      // Hasil 9
  }
}

Output :

9.78
9

Pada contoh di atas terlihat bahwa tipe data int mempunyai ukuran yang lebih kecil daripada tipe data double. Akibatnya tipe data double tidak dapat secara otomatis diganti ke tipe data int. Anda harus melakukan manual atau narrowing casting dengan menambahkan tipe data tujuan (int) di depan tipe data yang akan diganti. Hal yang sama akan terjadi apabila Anda ingin mengubah variabel dengan double ke float, long ke int, int ke short atau short ke byte.

Harap diperhatikan, perubahan tipe data dengan narrowing casting mempunyai resiko perubahan nilai pada variabel baru. Sebagai contoh nilai variabel varInt dan varDouble seperti contoh di atas menjadi berbeda karena tipe data int tidak bisa menampung nilai desimal.

Tinggalkan Balasan

Keranjang Belanja0
Keranjang belanja kosong ...
0