Problema com leitura de char

Pessoal estou com um problema com relação ao tipo char.
Como faço para que o mesmo receba um valor digitado via teclado? Pois sabemos que se for por exemplo um String,um int, um float, um double, podemos fazer assim.

Scanner tc = new Scanner(System.in);

String x = tc.nextLine();
int y = tc.nextInt();
float z = tc.nextFloat;
double t = tc.nextDouble;

E se for um char como fazer?
Alguém tem algo sobre?

usa string q eh melhor, dae vc pega so o primeiro caracter.

ou vc usa

char c = (char) System.in.read();
System.out.println©;

Obrigado pela ajuda.
Como faço pra pegar só a primeira letra tem algum método da classe String para isso?

import java.io.IOException;
 import java.util.Scanner;  
  class Pessoa  
  {   
       float salario;  
        String nome;  
        char sexo;
    

    Pessoa(String nom, float sal,char sexo) {
        this.salario = sal;   
        this.nome = nom;  
       this.sexo = sexo;
    }
     public void mostraDados()  
     {   
      System.out.println("Nome= "+ nome+"\nSalário = "+salario+"\nSexo = "+sexo);  
     }  
 }   
 public class Teste  
 {   
    public static void main(String args[]) throws IOException  
     {  
      Scanner tc = new Scanner (System.in);  
      System.out.println("Digite um nome");  
      String nom = tc.nextLine();  
      System.out.println("Digite o salário");  
      float sal = tc.nextFloat();  
      System.out.println("Digite o sexo");
      char sex = (char) System.in.read();
      Pessoa p = new Pessoa(nom,sal,sex);  
      p.mostraDados();  
    }  
 }  

Dá uma olhada nesse post aqui do GUJ mesmo! :smiley:

http://www.guj.com.br/java/56099-substring

Pessoal e se fosse do tipo booleano como faria?