Versão atual:

usando char para acessar a posição do array

Olá pessoal, estou estudando para OCA e testando alguns códigos me deparei com uma situação estranha.

Quando eu tento imprimir o valor da posição inicial do array com um char de valor 0 a execução da classe não me retorna o valor nem mesmo um erro, ao passo que em outros momentos recebo o valor normalmente. Alguém pode me explicar o motivo disso? Reparei que o problea acontece quando imprimo o char antes do vetor.

Segue o código para ilustrar:

public class Teste {
    public static void main(String[] args) {
        char  c = 0;
        int[] array= new int[]{10,20,30};
        //imprime apenas "valor de c ->"
        System.out.println("valor de c -> "+ c +", valor da posição de c -> "+array[c]); 
        //imprime realmente a posição do vetor "valor da posição de c = 10"
        System.out.println("valor da posição de c = "+array[c]);
    }
}

Nesse código nem mesmo o resto da frase foi impressa. :|

Estou usando java 8 e eclipse como IDE.

Para melhorar o entendimento da questão peço que executem as seguintes linhas de código:

char  c = 0;
int[] array= {10,20,30};
System.out.println("valor de c -> "+ c +", valor da posição de c -> "+array[c]);
c = 1;
System.out.println("valor de c -> "+ c +", valor da posição de c -> "+array[c]);

OBS.: Java armazena o tipo char como um inteiro positivo

Versões(2):

Ver a versão formatada

usando char para acessar a posição do array

Comentário

new question