for(atual = 0; atual < precos.length; atual++) {
if(precos[atual] < precos[maisBarato]) {
maisBarato = atual;
}
}
for(atual = 0; atual < precos.length; atual++) {
if(precos[atual] < precos[maisBarato]) {
maisBarato = atual;
}
}
Oi Michel, o length retorna o tamanho do array; por exemplo:
int[] a = {4, 5, 2, 7, 1, 0};
Se você fizer um a.length
ele irá retornar o tamanho dele, ou seja, 6.
Mas aí você pode perguntar: Mas o array não começa a conta do 0?
. E a resposta é sim, mas nesse caso para acessar a posição dentro do array, por exemplo a[1]
irá retornar 5. E se vc colocar a[6]
irá retornar uma exception
.
Portanto esse array que eu escrevi acima é um array de 6 posições (retorno do length) que iniciar no 0
e termina no 5
.
Esse for:
for(atual = 0; atual < precos.length; atual++)
a parte atual < precos.length
está determinando a condição de execução do loop, ou seja, o loop irá ser executado enquanto atual
for menor que precos.length
, caso você coloque <=
pode dar uma exception
.
Faz uns testes aí. Faz um print
de precos.length
, depois dá um print em precos[precos.length - 1]
, isso deve retornar o último valor do array, e `precos[ precos.length] isso deve dar uma exception.
Cara isso foi um pouco complicado explicar... mas qualquer dúvida posta aí para eu tentar te ajudar.