Olá Jhonatan, tudo bem com você?
No loop for, quando você usa indice++, isso é um pós-incremento, o que significa que o valor de indice é utilizado no loop antes de ser incrementado. Ou seja, na primeira iteração do loop, indice é 0, e só depois de executar o código dentro das chaves {} é que indice é incrementado para 1.
Quando você muda para ++indice, isso é um pré-incremento, que incrementa indice antes de usar seu valor na iteração atual do loop. No entanto, é importante notar que essa mudança não afeta a primeira execução do loop, porque o incremento ou o teste da condição (neste caso indice < notas.length) ocorre após a execução do bloco de código dentro do loop.
Portanto, mesmo mudando para ++indice, o loop ainda começa com indice igual a 0, porque o incremento só acontece no final da primeira passagem pelo loop, antes da segunda iteração, por comportamento padrão do tipo de estrutura for. Assim, na prática, dentro do bloco do loop, o comportamento de indice++ e ++indice será o mesmo na primeira iteração. Ou seja, isso ocorre porque a expressão de iteração do for (no terceiro argumento) só é avaliada após a execução do bloco de código do loop.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!