Boa noite a todos.
Eu entendi que o comando 'lenght' retorna o número de caracteres da String a qual ele for utilizado. Na aula 05, do curso de Java Básico, construímos a seguinte sintaxe:
String[] paises = { "Brasil", "EUA", "Portugal", "Argentina", "Angola" };
for (int i = 0; i < paises.length; i++) {
System.out.println(paises[i]);
}
Nesse caso para a variável 'i', utilizada como contadora no Array, contando com o incremento da variável (i++), serão retornados os componentes do Array, enquanto 'i' for menor que o número de caracteres da String 'paises', que contém 06 caracteres. Desta maneira, se fosse utilizada a sintaxe 'i <= paises.length;', retornaria o erro: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at javaBasico.Arrays.main(Arrays.java:49).
Minha dúvida é a seguinte: Eu mudei 'i < pais.length;' para 'i <= pais.length;', alterando todas as palavras 'paises' para 'pais', e o mesmo erro foi percebido. Por que? Se o Java começa a contar do 0, nesse caso {0,1,2,3,4} correspondendo aos 5 componentes do Array. Tentei mudar para 'paise', mudando também em todos os locais onde apareceu a palavra 'paises', mas não deu certo.