Môžeme konvertovať int to char v jave pomocou pretypovania. Ak chcete previesť vyšší typ údajov na nižší, musíme vykonať typové obsadenie. Tu bude ASCII znak celočíselnej hodnoty uložený v premennej char.
Ak chcete získať skutočnú hodnotu v premennej char, môžete pridať '0' s premennou int. Prípadne môžete použiť metódu Character.forDigit().
Java int to char Príklad: Typecasting
Pozrime sa na jednoduchý kód na konverziu long na int v jazyku Java.
public class IntToCharExample1{ public static void main(String args[]){ int a=65; char c=(char)a; System.out.println(a); }}Vyskúšajte to
Výkon:
A
Ale ak uložíte 1, uloží sa ASCII znak daného čísla, čo je začiatok smerovania ktorý nie je možné vytlačiť. Na konzole teda nič nevytlačí.
public class IntToCharExample2{ public static void main(String args[]){ int a=1; char c=(char)a; System.out.println(c); }}Vyskúšajte to
Výkon:
Ak pridáte '0' s premennou int, vráti skutočnú hodnotu v premennej char. Hodnota ASCII '0' je 48. Ak teda pridáte 1 ku 48, vznikne 49, čo sa rovná 1. ASCII znak 49 je 1.
public class IntToCharExample3{ public static void main(String args[]){ int a=1; char c=(char)(a+'0'); System.out.println(c); }}Vyskúšajte to
Výkon:
1
Ak uložíte celočíselné hodnoty do jednej úvodzovky, uloží sa skutočný znak do premennej char.
public class IntToCharExample4{ public static void main(String args[]){ int a='1'; char c=(char)a; System.out.println(c); }}Vyskúšajte to
Výkon:
1
Java int to char Príklad: Character.forDigit()
Ak chcete získať skutočnú hodnotu, môžete použiť aj metódu Character.forDigit().
public class IntToCharExample5{ public static void main(String args[]){ int REDIX=10;//redix 10 is for decimal number, for hexa use redix 16 int a=1; char c=Character.forDigit(a,REDIX); System.out.println(c); }}Vyskúšajte to
Výkon:
1
Ak chcete získať hodnotu hexa, použite redix 16 v metóde Character.forDigit().
public class IntToCharExample6{ public static void main(String args[]){ int REDIX=16;//redix 16 is for Hexadecimal value int a=10; char c=Character.forDigit(a,REDIX); System.out.println(c); }}Vyskúšajte to
Výkon:
a
Ako môžete vidieť na výstupe, hexadecimálny kód 10 je a.