sim com exceção do ID,são todas do tipo VARCHAR
Hmm fiz as alterações mas continua não alterando 
o código agora esta assim:
public void consultarGUJ(Aluno a)
{
try{
StringBuffer sql = new StringBuffer();
sql.append("UPDATE aluno SET nome = ?, data_nascimento = ?, naturalidade = ?, nome_pai = ? , nome_mae = ? , estado_civil = ? , endereco_profissional = ? ,endereco_residencial = ? , telefone_profissional = ? , telefone_residencial = ? , cpf = ? , rg = ? , orgao_emissor = ? , titulo = ? , zona = ? , num_carne = ? , profissao = ? , turma = ? , sexo = ? , nacionalidade = ? , aproveitamento = ? , status = ? ");
sql.append(" WHERE id = ?");
PreparedStatement ps = conexao.prepareStatement(sql.toString());
ps.setString(1, a.getNome());
ps.setString(2, a.getData_nascimento());
ps.setString(3, a.getNaturalidade());
ps.setString(4, a.getNome_pai());
ps.setString(5, a.getNome_mae());
ps.setString(6, a.getEstado_civil());
ps.setString(7, a.getEndereco_profissional());
ps.setString(8, a.getEndereco_residencial());
ps.setString(9, a.getTelefone_profissional());
ps.setString(10, a.getTelefone_residencial());
ps.setString(11, a.getCpf());
ps.setString(12, a.getRg());
ps.setString(13, a.getOrgao_emissor());
ps.setString(14, a.getTitulo());
ps.setString(15, a.getZona());
ps.setString(16, a.getNum_carne());
ps.setString(17, a.getProfissao());
ps.setString(18, a.getTurma());
ps.setString(19, a.getSexo());
ps.setString(20, a.getNacionalidade());
ps.setString(21, a.getAproveitamento());
ps.setString(22, a.getStatus());
ps.setInt(23, a.getId());
ps.executeUpdate();
}
catch(Exception e)
{
e.printStackTrace();
}
}