Para ler um char em Java, só com try e catch. O melhor jeito de se fazer é usando o método read(), que retorna um inteiro. Portanto, um casting é necessário.
import java.io.Reader;
import java.io.IOException;
//se preferir, vc pode importar java.io.*
public class Char
{
public static void main(String args[])
{
char c = 0; //é necessário inicializar o char
try
{
c = (char) System.in.read();
}
catch(IOException erro)
{
System.err.println(erro.getMessage());
}
System.out.println(c);
}
}