O ponto-e-vírgula é um terminador de statements. Quando você faz for( etc.... ) ; está dizendo que dentro do for não tem nada - seria equivalente a fazer for ( etc...) { }.
Ou seja, dentro do for não tem nada. E depois você abre um bloco que está acessando o i. Seria mais ou menos isso que você fez:
for(inti=0;i<10;i++)// aqui dentro do for não tem nada;// <-- porque esse ponto-e-vírgula indica um statement vazio{// aqui você inicia um novo blocoif(vect[i]!=null){// e aqui o "i" não está no escopo deste blocoSystem.out.println(i+":"+vect[i]);
E como essa variável i só existe no for, o bloco não consegue enxergá-la.