No contexto da linguagem Java, considere um array definido como segue. String[] nomes = new String[100]; Assinale a expressão cujo valor corresponde ao índice do último elemento do array nomes.
- A)nomes.length
Errada, porque `nomes.length` devolve o tamanho do array, e não o índice do último elemento.
- B)nomes.length - 1
Certa, porque o último índice de um array de 100 posições é `100 - 1`, ou seja, `nomes.length - 1`.
- C)nomes.size
Errada, porque `size` é usado em coleções como `List`, não em arrays Java.
- D)nomes.size + 1
Errada, porque `size + 1` nem representa o último índice e ainda usa um termo que não se aplica a arrays.
- E)nomes.ubound
Errada, porque `ubound` não é um recurso da linguagem Java para arrays.
Gabarito: B
Em Java, arrays têm tamanho fixo e começam no índice 0. Isso significa que, se um array tem 100 posições, os índices válidos vão de 0 até 99. Parece detalhe, mas em prova esse detalhe derruba muita gente, porque a banca adora testar se você lembra que o “último” não é o total de elementos, e sim o total menos 1. No exemplo, `String[] nomes = new String[100];`, o atributo `length` informa quantas posições o array possui. Então `nomes.length` vale 100, mas esse não é o índice final. Para chegar ao último elemento, você precisa subtrair 1: `nomes.length - 1`, que resulta em 99. Por isso, o gabarito B está correto. Em Java, arrays usam a propriedade `length`, enquanto `size()` é típico de coleções como `List`. E `ubound` não faz parte da linguagem Java, então é só uma isca para confundir quem mistura conceitos de outras linguagens. Resumo de prova: tamanho do array é uma coisa, índice do último elemento é outra. Se o array tem N posições, o último índice é N - 1. Simples, elegante e muito cobrado.