Java Char Primitive Data Type With Program Examples

In Java, char keyword is a primitive data type used for character values. It can store 16 bit piece of information, ranging from 0 to 65,536 characters. Java uses Unicode to represent all the characters that includes symbols, alphabets, numbers and other characters as it covers more characters than ASCII system.

Syntax :

char variableName = 'a' // any value

These characters can also be converted to integer and manipulated with arithmetic operators.

A character is represented within a single quotes. Its default value is denoted by ‘/0000’, having default size of 2 byte.

Java Char Literals

Since, Java uses Unicode system to covers more characters than ASCII system.  Below is the simple program to print various character literals.

Java program to print character literals such as symbol, alphabet, number.

public class CharacterExample {

    
public static void main(String[] args) {
  
      char  alphabet = 'A';
       
      char  symbol = '@';

      char num = '2';

 
      System.out.println("Printing alphabet character  :: "+alphabet);
    
      System.out.println("Printing symbol character  :: "+symbol);
  
      System.out.println("Printing number character  :: "+num);

    
}

}

Output: 

Printing alphabet character  :: A

Printing symbol character  :: @

Printing number character  :: 2

Java Char With ASCII Character

ASCII stands for American Standard Code for Information Interchange. It can hold values ranging from 0 to 127 characters. For example, 65 ASCII value represents A.

Java program to print ASCII value of a character

public class CharacterExample {

    
public static void main(String[] args) {
   
     char  alphabet = 67;
   
     char  num = 48;
     
     char symbol= 60;

    
     System.out.println("Printing alphabet character of ASCII  :: "+alphabet);
          
     System.out.println("Printing number character  of ASCII :: "+num);
    
     System.out.println("Printing symbol character  of ASCII :: "+symbol);


 
   }

}

Output:

Printing alphabet character of ASCII  :: C

Printing number character  of ASCII :: 0

Printing symbol character  of ASCII :: <

Java Char With Unicode System

ASCII characters can be put directly inside the quote i.e ‘a’. One needs to use an escape sequence i.e ‘\’ for other characters which can’t be directly used inside the quote, . To represent character values, one needs to use ‘\’ followed by the three-digit number i.e ‘ \141’ for ‘a’. To represent hexadecimal, one needs to use ‘\u’ followed by 4 digit number i.e ‘\u0061’ for ‘a’.

Java program to print characters from unicode values

public class CharacterExample {

 
   public static void main(String[] args) {
  
      char  alphabet = '\141';
    
      char  hex = '\u0061';

   
      System.out.println("Printing alphabet character of unicode system  :: "+alphabet);
          
      System.out.println("Printing hexadecimal character  of unicode system  :: "+hex);

 
   }

}

Output:

Printing alphabet character of unicode system  :: a

Printing hexadecimal character  of unicode system  :: a

Java Char To Int

In Java, a char type can be converted to an int type in various ways. However, if one directly assigns a char type to an int variable, an ASCII value corresponding to that character would be assigned. On other hand, if a char type is holding an integer value, then it could be converted to an integer type by using an inbuilt method named Character.getNumericValue.

There are following ways to convert a char to an int in Java:

1) Using implicit type casting, that gives corresponding ASCII value

Java program to convert char to int using implicit Typecasting

public class CharacterExample {

 
   public static void main(String[] args) {
  
     char chr = '6';
  
     int num = chr;
   
     System.out.println("Converting chr using implicit typecasting = "+num);
  
  }

}

Output: 

Converting chr using implicit typecasting = 54

2) Character.getNumericValue(), that takes char as parameter and returns its corresponding int value.

Java program to convert char to int using getNumericValue method

public class CharacterExample {
   

public static void main(String[] args) {
      
char chr = '6';
      
int num = Character.getNumericValue(chr);
      
System.out.println("Converting chr using getNumericValue = "+num);
 
}

}

Output:

Converting chr using getNumericValue = 6

3) Integer.parseInt(), it simply use char type as parameter and returns its int value.

Java program to convert char to int using parseInt()

public class CharacterExample {


public static void main(String[] args) {

char chr = '6';

int num = Integer.parseInt(String.valueOf(chr));

System.out.println("Converting chr using valueOf = "+num);

}

}

Output :

Converting chr using parseInt = 6

Java Char From Integer

Java converts an int value to its corresponding ASCII character at time of typecasting.

Below is the example :

public class CharacterExample {

 
   public static void main(String[] args) {
  
     int num = 76;
      
     char chr = (char) num;
    
    System.out.println("76 converted to character = "+chr);
  
  }

}

Output:

76 converted to character = L

Alternatively, one can use forDigit method to get actual int value in form of character.

Below is the example  :

public class CharacterExample {

   
 public static void main(String[] args) {
   
    int num = 6;
    
    char chr = Character.forDigit(num,10);  // for decimal will set redix 10, for hexa it would be 16
        
    System.out.println("Converting int to char = "+chr);
  
  }

}

Output: 

Converting int to char = 6

Java Char Array From String

Java provides toCharArray method, that is part of String class. It translates a string to array of characters.

Below is the program example :

public class CharacterExample {

  
  public static void main(String[] args) {
 
       String  str = "ProgrammerBay";
    
       System.out.println("String value :: "+ str);

    
       System.out.println("Character arr :: "+ Arrays.toString(str.toCharArray()));

   
 }

}

Output :

String value :: ProgrammerBay
Character arr :: [P, r, o, g, r, a, m, m, e, r, B, a, y]

Leave a Reply