Rumah >Java >javaTutorial >Program Java melaksanakan fungsi menukar integer kepada aksara
Java mempunyai lapan jenis data asas: byte, short, int, long, char, float, double dan boolean. int ialah jenis data bertandatangan 32-bit yang digunakan untuk menyimpan integer. Julatnya adalah dari -2,147,483,648 hingga 2,147,483,647. char ialah aksara Unicode 16-bit yang tidak ditandatangani.
Dalam artikel ini, kita akan membincangkan beberapa kaedah untuk menukar int kepada char−
Dengan menambah '0'
Dengan menggunakan kaedah forDigit()
Dengan menggunakan penukaran jenis
Contoh di bawah menunjukkan cara mengisytiharkan dan memulakan pembolehubah int.
int num1 = 24;
int ialah kata kunci yang digunakan untuk mengisytiharkan pembolehubah int dan num1 ialah nama pembolehubah yang memegang nilai 24.
Contoh di bawah menunjukkan cara mengisytiharkan dan memulakan pembolehubah aksara. Kami menyimpan pembolehubah aksara dalam petikan tunggal (‘ ’).
char ch1 = ‘S’;
char ialah kata kunci yang digunakan untuk mengisytiharkan pembolehubah aksara, ch1 ialah nama pembolehubah yang memegang aksara 'S'.
forDigit() bagi class 'Character' mengembalikan aksara nombor yang ditentukan berdasarkan nilai RADIX yang diberikan. Nilai RADIX perpuluhan ialah 10, nilai RADIX heksadesimal ialah 16, dan nilai RADIX binari ialah 2.
Kelas 'Watak' boleh didapati dalam pakej 'java.lang'.
Kami juga akan menggunakan kaedah getClass().getSimpleName() dalam program untuk menyemak jenis data selepas menukar pembolehubah integer kepada aksara.
char char_variable = Character.forDigit(var_to_convert, radix);
char_variable − Nama pembolehubah aksara yang menyimpan nilai yang ditukar.
Character ialah nama kelas, forDigit() ialah kaedahnya, digunakan dengan dua parameter.
var_to_convert ialah pembolehubah yang hendak ditukar, radix ialah asas penukaran
import java.lang.*; public class Conversion { public static void main(String[] args) { int rad = 16; int n1 = 8; int n2 = 11; // Conversion of int to char char ch1 = Character.forDigit(n1, rad ); char ch2 = Character.forDigit(n2, rad ); System.out.println("ch1: " + ch1); System.out.println("ch2: " + ch2); // to check the datatype System.out.println("type of ch1: " + ((Object)ch1).getClass().getSimpleName()); System.out.println("type of ch2: " + ((Object)ch2).getClass().getSimpleName()); } }
ch1: 8 ch2: b type of ch1: Character type of ch2: Character
Dalam kod di atas, kami telah mencipta tiga pembolehubah integer. 'ch1' dan 'ch2' akan menyimpan pembolehubah yang ditukar. Kami menggunakan nilai asas 16, jadi pembolehubah yang ditentukan telah ditukar kepada sistem nombor perenambelasan (0 hingga 9, kemudian A ke F). Nilai bit 11 dalam sistem perenambelasan ialah 'b'. Oleh itu, kami mendapat 8 dan 'b' sebagai output. Akhirnya, kami menyemak jenis data.
Apabila kami menukar satu jenis data kepada jenis data lain, kami memanggilnya penukaran jenis. Terdapat dua jenis penukaran jenis dalam Java: eksplisit dan tersirat. Dalam penukaran jenis tersirat, jenis data yang lebih rendah ditukar secara automatik kepada mana-mana jenis data lain yang lebih tinggi oleh pengkompil dan tiada risiko kehilangan data semasa penukaran.
Apabila kami menghantar jenis data yang lebih tinggi kepada jenis data yang lebih rendah, ini dipanggil penukaran jenis eksplisit dan perlu dilakukan secara manual. Dalam kes ini, terdapat risiko kehilangan data kerana jenis data yang lebih rendah mempunyai julat yang lebih kecil daripada jenis data yang lebih tinggi, yang merupakan sebab utama untuk melakukannya secara manual.
Dalam program kami, kami akan menggunakan penukaran jenis eksplisit kerana julat integer lebih tinggi daripada aksara.
char_variable = (char) var_to_convert;
public class Conversion { public static void main(String[] args) { int n1 = 97; int n2 = 65; // Typecasting of int to char variable char ch1 = (char)n1; char ch2 = (char)n2; System.out.println("ch1: " + ch1); System.out.println("ch2: " + ch2); } }
ch1: a ch2: A
Dalam kod di atas, kami telah mengisytiharkan dan memulakan dua pembolehubah integer 'n1' dan 'n2'. 'ch1' dan 'ch2' akan menyimpan pembolehubah yang ditukar. Kami mendapat 'a' dan 'A' dalam output kerana ia adalah nilai ASCII 65 dan 97.
Apabila kita menambah 0 pada pembolehubah integer dan melakukan penukaran jenis, ia sebenarnya mengembalikan nilai ASCII bagi nombor tersebut. Nilai ASCII bagi 0 ialah 48, jadi jika kita menambah 0 hingga 65, ia menjadi 113, dan nilai ASCII bagi 113 ialah q.
public class Conversion { public static void main(String[] args) { int n1 = 65; int n2 = 66; // Conversion of int to char char ch1 = (char)(n1 + '0'); char ch2 = (char)(n2 + '0'); System.out.println("ch1: " + ch1); System.out.println("ch2: " + ch2); System.out.println("type of ch1: " + ((Object)ch1).getClass().getSimpleName()); System.out.println("type of ch2: " + ((Object)ch2).getClass().getSimpleName()); } }
ch1: q ch2: r type of ch1: Character type of ch2: Character
Dalam artikel ini, kami telah membincangkan tiga kaedah untuk menukar int kepada char. Selalunya, kami menggunakan penukaran jenis eksplisit untuk jenis penukaran ini kerana ia mudah digunakan dan difahami.
Atas ialah kandungan terperinci Program Java melaksanakan fungsi menukar integer kepada aksara. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!