V tomto programu se naučíme převádět proměnnou integer (int) na znak (char) v Javě.
Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata Java:
- Datové typy Java (primitivní)
- Základní vstup a výstup Java
Příklad 1: Program Java pro převod int na char
class Main ( public static void main(String() args) ( // create int variables int num1 = 80; int num2 = 81; // convert int to char // typecasting char a = (char)num1; char b = (char)num2; // print value System.out.println(a); // P System.out.println(b); // Q ) )
Ve výše uvedeném příkladu máme int
proměnné typu num1 a num2. Všimněte si řádku,
char a = (char)num1;
Zde používáme typecasting k skrytí int
proměnné typu do char
proměnné typu. Další informace najdete na webu Java Typecasting.
Všimněte si, že s int
hodnotami se zachází jako s hodnotami ASCII. Proto dostaneme P pro int
hodnotu 80 a Q pro int
hodnotu 81 . Je to proto, že ASCII hodnota P a Q jsou 80 a 81 v tomto pořadí.
Příklad 2: int na char pomocí forDigit ()
Můžeme také použít forDigit()
metodu Character
třídy k převodu int
proměnné char
typu na typ.
class Main ( public static void main(String() args) ( // create int variables int num1 = 1; int num2 = 13; // convert int to char // for value between 0-9 char a = Character.forDigit(num1, 10); // for value between 0-9 char b = Character.forDigit(num2, 16); // print value System.out.println(a); // 1 System.out.println(b); // d ) )
Všimněte si výrazu,
char a = Character.forDigit(num1, 10);
Použili jsme forDigit()
metodu převodu zadané int
hodnoty na char
hodnotu.
Zde jsou 10 a 16 hodnoty radix pro desetinná a šestnáctková čísla. To znamená, že pokud je int
hodnota mezi 0 až 9 , použijeme 10 jako hodnotu radixu, pokud je int
hodnota mezi 0 až 15 , použijeme 16 atd.
Další informace o této forDigit()
metodě najdete v Java Character.forDigit () (oficiální dokumentace Oracle).
Příklad 3: int char přidáním '0'
V Javě můžeme také převést celé číslo na znak přidáním znaku „0“ . Například,
class Main ( public static void main(String() args) ( // create int variables int num1 = 1; int num2 = 9; // convert int to char char a = (char)(num1 + '0'); char b = (char)(num2 + '0'); // print value System.out.println(a); // 1 System.out.println(b); // 9 ) )
Ve výše uvedeném příkladu si všimněte řádku,
char a = (char)(num1 + '0');
Zde se znak '0' převede na ASCII hodnotu 48 . Hodnota 48 se přidá k hodnotě num1 (tj. 1). Výsledkem 49 je hodnota ASCII 1 . Proto dostaneme jako výstup znak '1'.
Poznámka : To platí pouze pro int
hodnoty 0 až 9 .