Cita: [...] y hasta que el valor sea uno, [...]
justo ahi es donde tienes problema. fijate que la estructura de un ciclo for es la siguiente:
Código:
for(inicializacion; condicion; iterador){
cuerpo;
}
el bucle continua, incluso para el primer ciclo, cuando la expresion en la condicion evalua al boolean true. en cualquier momento que evalue a falso, se detiene. en el primer ciclo tu expresion dice
i=0; i==1;. ¿a que evalua la segunda expresion?