Veras, tu que tienes experiencia en C/C++ sabras que en ese lenguage exiten los destructores, que son usados para ir liverando memoria destruyendo objetos o variables que ya no vayan a ser utilizadas, pues bien, eso en Java ya no existe, pues Java tiene su propio recolector de basura que lo hace por ti, ahorrandote el arduo y duro trabajo de tener que lidiar con lo que es la mamoria de tu aplicacion... y es precisamente una de las formas que Java tiene de saber cuando algo debe ser destruido, cuando ya salio de ambito, y esto es mediante uso de llaves "{, }" por ejemplo
Código PHP:
{
int num = 0; //declaramos num
} //aqui num ya no existe pues cerramos la llave de su ambito
int num = 7; //declaramos otra variable que se llama igual, pero no es la misma
es por esto que si declaras alguna avriable en el for esta despues se sale de ambito al terminar el ciclo y se destrulle, para evitar esto debes hacer esto
Código PHP:
{
int contador;
for(contador = 0; contador < 11; contador++) {
//aqui tu codigo...
}
//esta vez aqui no se destruye contador, pues su ambito aun
//no ha terminado
//puedes hacer todo lo que quieras aun con tu variable por aqui...
} //aqui se destruye cualquier objeto o variable que allas declarado
//dentro de estas llaves, incluyendo contador
Espero haber aclarado tu duda
Saludos