CodeGym /Blog Jawa /Acak /Casting Jinis Jawa
John Squirrels
tingkat
San Francisco

Casting Jinis Jawa

Diterbitake ing grup

Apa Jenis Casting ing Jawa?

Jinis data minangka sakumpulan nilai sing wis ditemtokake sing nemtokake jinis nilai sing bisa disimpen ing kono bebarengan karo operasi sing bisa ditindakake.
Java Type Casting minangka proses sing siji jinis data diowahi menyang liyane.
Bisa uga implisit lan eksplisit . Typecasting implisit uga dikenal minangka typecasting otomatis ditindakake dening compiler. Typecasting eksplisit ditindakake kanthi manual dening programmer ing kode kasebut.

Napa Tipe Casting Dibutuhake?

Jawa nduweni jinis data primitif sing beda-beda sing mbutuhake spasi ing memori. Iki bisa nyebabake masalah kompatibilitas nalika nemtokake nilai siji jinis data menyang liyane. Yen datatypes wis kompatibel, typecasting rampung kanthi otomatis dening compiler. Mangkono, typecasting ngrampungake masalah kompatibilitas utama nalika nangani macem-macem jinis data ing program kita.

Jinis Jinis Casting Jawa

Ana rong jinis jinis casting ing Jawa.
  1. Widening Type Casting - Uga dikenal minangka Casting Tipe Implisit utawa Otomatis
  2. Casting Type Narrowing - Uga dikenal minangka Casting Jinis Eksplisit utawa Manual

Widening Tipe Casting

Widening typecasting, minangka jeneng tabet, nuduhake widening saka jinis data cilik kanggo jinis data luwih gedhe. Kita nindakake typecasting iki nalika kita pengin ngowahi jinis cilik kanggo jinis gedhe. Jinis data kudu kompatibel karo siji liyane. Ora ana konversi implisit saka numerik menyang jinis char utawa boolean. Ing Jawa, jinis char lan boolean ora kompatibel.
byte -> short -> char -> int -> long -> float -> double
Jinis casting iki rampung kanthi otomatis dening compiler tanpa mundhut informasi. Ora mbutuhake pemicu eksternal dening programmer.

Tuladha

//Automatic type conversion
public class WideningExample {
   public static void main(String[] args) {

       int i = 100;
       System.out.println("int value: " + i);

       // int to long type
       long l = i;
       System.out.println("int to long value: " + l);

       // long to float type
       float f = l;
       System.out.println("int to float value: " + f);


       byte b = 1;
       System.out.println("byte value: " + b);

       // byte to int type
       i = b;
       System.out.println("byte to int value: " + i);

       char c = 'a';
       System.out.println("char value: " + c);

       // char to int type
       i = c;

       // prints the ASCII value of the given character
       // ASCII value of 'a' = 97
       System.out.println("char to int value: " + i);
   }
}

Output

nilai int: 100 int kanggo nilai dawa: 100 int kanggo nilai float: 100,0 nilai bita: 1 bita kanggo nilai int: 1 nilai char: char kanggo nilai int: 97

Panjelasan

Ing kode ing ndhuwur, kita wis ditampilake widening typecasting kang rampung dening compiler otomatis. Kaping pisanan, kita menehi nilai menyang int , byte , lan char . Kita banjur menehi nilai int menyang long lan float , sing loro luwih gedhe tinimbang int . Kita uga menehi nilai byte lan char menyang int . Loro-lorone byte lan char minangka jinis data sing luwih cilik tinimbang int , mula, konversi kasebut implisit.

Narrowing Tipe Casting

Narrowing typecasting, minangka jeneng tabet, nuduhake narrowing saka jinis data luwih gedhe kanggo jinis data cilik. Kita nindakake typecasting iki nalika kita pengin ngowahi jinis gedhe menyang jinis cilik.
pindho -> float -> dawa -> int -> char -> cendhak -> byte
Kanggo jinis casting iki, kita ngilangi konversi standar Jawa kanthi nemtokake konversi kita dhewe. Kanggo entuk iki, kita nulis variabel utawa nilai sing kudu diketik sadurunge jinis data target ing kurung '()'. Nanging, jinis casting iki bisa nyebabake mundhut presisi.

Tuladha

//Manual Type Conversion
public class NarrowingExample {
   public static void main(String[] arg) {

       // double data type
       double d = 97.04;
       // Print statements
       System.out.println("double value: " + d);

       // Narrowing type casting from double to long
       // implicitly writing the target data type in () followed by initial data type
       long l = (long) d;

       // fractional part lost - loss of precision
       System.out.println("long value: " + l);

       // Narrowing type casting from double to int
       // implicitly writing the target data type in () followed by initial data type
       int i = (int) l;

       // fractional part lost - loss of precision
       System.out.println("int value: " + i);

       // Narrowing type casting from double to int
       // implicitly writing the target data type in () followed by initial data type
       char c = (char) i;

       // displaying character corresponding to the ASCII value of 100
       System.out.println("char value: " + c);
   }
}

Output

Nilai pindho: 97,04 Nilai dawa: 97 Nilai int: 97 Nilai char: a

Panjelasan

Narrowing typecasting kudu ditindakake kanthi eksplisit dening programmer nggunakake sintaks standar. Ing program ing ndhuwur, kita wis diwiwiti kanthi nilai ganda sing luwih gedhe tinimbang jinis data dawa lan int . Kita ngetik iki kaping pindho nganti dawa lan int kanthi nggunakake tanda kurung karo jinis data target sing dikarepake. Kita uga wis ngetik 'int' kanthi manual menyang 'char'.

Kesimpulan

Ing pungkasan kiriman iki, muga-muga sampeyan wis ngerti babagan Casting Jinis Jawa kanthi rinci. Sampeyan wis sinau rong jinis typecasting ing basa Jawa. Sampeyan uga wis sinau carane ngirim jinis data non-kompatibel kanthi manual nggunakake Narrowing typecasting. Sampeyan bisa nyoba kombinasi liyane saka jinis data karo nilai beda ing dhewe kanggo ngerti luwih jero. Terus latihan kanggo dhawuh sing luwih jero babagan konsep kasebut. Nganti saiki, terus berkembang lan terus sumunar!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION