Java int to char

In Java, you can convert an int to a char in a few ways, depending on what you want to achieve. If you’re converting an int to a char that corresponds to a Unicode character, you can do it directly with casting.

1. Direct Casting (for Unicode/ASCII Characters)

If you want to convert an int to a char based on the Unicode or ASCII value, you can simply cast the int to a char.


public class IntToCharExample {
    public static void main(String[] args) {
        int myInt = 65; // ASCII/Unicode value for 'A'
        char myChar = (char) myInt; // Cast int to char
        System.out.println("The character for int " + myInt + " is: " + myChar);
    }
}

Output: The character for int 65 is: A

Explanation:

  • When you cast an int to a char, it converts the integer to the corresponding Unicode character.
  • For example, 65 is the Unicode value for ‘A’, so casting 65 to char results in the character ‘A’

2. Converting Integer Values Between 0 and 9 to Character Digits

If you have an integer in the range 0-9 and you want to convert it to the corresponding character (‘0’ to ‘9’), you can simply add ‘0’ to the integer.


public class IntToChar {
    public static void main(String[] args) {
        int myInt = 9; // An integer between 0 and 9
        char myChar = (char) ('0' + myInt); // Convert int to the corresponding char
        System.out.println("The character for int " + myInt + " is: " + myChar);
    }
}

Output: The character for int 9 is: 9

Explanation:

  1. Adding ‘0’ (the Unicode value for the character ‘0’) to an integer in the range 0-9 will convert the integer into the corresponding character.
  2. For example, if myInt = 9, then ‘0’ + 9 results in the character ‘9’.

3. Using Character.forDigit() (for Digits Only)

If you’re dealing with digits and want to convert an integer between 0 and 15 to a character (e.g., for hexadecimal values), you can use Character.forDigit().


public class IntToCharExample {
    public static void main(String[] args) {
        int myInt = 10; // A digit between 0 and 15
        char myChar = Character.forDigit(myInt, 16); // Convert int to corresponding hex character
        System.out.println("The character for int " + myInt + " in base 16 is: " + myChar);
    }
}

Output: The character for int 10 in base 16 is: A

Explanation:

  1. Character.forDigit(int digit, int radix) converts an integer to its corresponding character in the specified number system (e.g., base 16 for hexadecimal).
  2. For example, myInt = 10 and radix = 16, so the result will be ‘A’ (which is the hexadecimal representation of 10).