Możemy dokonać konwersji int na char w Javie za pomocą rzutowania. Aby przekonwertować wyższy typ danych na niższy, musimy wykonać rzutowanie. Tutaj znak ASCII wartości całkowitej będzie przechowywany w zmiennej char.
Aby uzyskać rzeczywistą wartość zmiennej char, możesz dodać „0” do zmiennej int. Alternatywnie możesz użyć metody Character.forDigit().
Java int na char Przykład: rzutowanie na typ
Zobaczmy prosty kod do konwersji long na int w Javie.
public class IntToCharExample1{ public static void main(String args[]){ int a=65; char c=(char)a; System.out.println(a); }}Przetestuj teraz
Wyjście:
A
Ale jeśli zapiszesz 1, zapisze znak ASCII podanej liczby, czyli początek kursu który nie nadaje się do druku. Więc nie wydrukuje niczego na konsoli.
public class IntToCharExample2{ public static void main(String args[]){ int a=1; char c=(char)a; System.out.println(c); }}Przetestuj teraz
Wyjście:
Jeśli dodasz „0” do zmiennej int, zwróci ona rzeczywistą wartość w zmiennej char. Wartość ASCII „0” wynosi 48. Jeśli więc dodasz 1 do 48, otrzymasz 49, co równa się 1. Znak ASCII liczby 49 to 1.
public class IntToCharExample3{ public static void main(String args[]){ int a=1; char c=(char)(a+'0'); System.out.println(c); }}Przetestuj teraz
Wyjście:
1
Jeśli przechowujesz wartość całkowitą w pojedynczym cudzysłowie, rzeczywisty znak będzie przechowywany w zmiennej char.
public class IntToCharExample4{ public static void main(String args[]){ int a='1'; char c=(char)a; System.out.println(c); }}Przetestuj teraz
Wyjście:
1
Java int na char Przykład: Character.forDigit()
Aby uzyskać rzeczywistą wartość, możesz także użyć metody 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); }}Przetestuj teraz
Wyjście:
1
Aby uzyskać wartość szesnastkową, użyj redix 16 w metodzie 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); }}Przetestuj teraz
Wyjście:
a
Jak widać na wynikach, kod szesnastkowy liczby 10 to a.