Fibonacci com duas variáveis

Estou realizando os exercícios da apostila da caelum, e dentre eles tentei fazer o exercício pra exibir a série fibonacci utilizando só duas variáveis. Depois de queimar a mufa um pouco, busquei a seguinte solução na internet:

[code]int a = 1;
for (int i = 0; i <= 100;) {

    System.out.print(i + " ");

    i = i + a;  
    a = i - a;[/code]

Debugando, reparei que a linha 2 não é executada após a primeira passagem. Gostaria de entender o pq disso. Alguém poderia me dar uma luz por favor?

Tá faltando código não tem? a princípio este código irá executar infinitamente.

for(int i = 0; i < a; i < 100)

Isto é somente um exemplo de como usar o for. Agora é so pensar em como você montará o seu.

O motivo exato não sei dizer, mas o fato de não ter nenhum incremento dentro do for, é o inicio do pq debugando ele não passa mais pelo for após a primeira iteração.

[code]class MeuPrograma {

public static void main(String[] args) {

int a = 1;
for (int i = 0; i <= 100;) {

	System.out.print(i + " ");
	
	i = i + a;  
	a = i - a; 
	
}

}

}[/code]

Esse é o código completo.

Então se eu não informar o incremento no for, a estrutura vai ser executada apenas uma vez?

não. Ele vai executar o for normalmente enquanto i for <= 100

Desculpa, então não entendi. O I vai continuar sendo <= 100 após a primeira execução. Não vejo pq ele não continua sendo executado.

o valor de ‘i’ esta sendo incrementado dentro do for

[code] class MeuPrograma {

public static void main(String[] args) {  
  
int a = 1;   
    for (int i = 0; i <= 100;) {  
           
        System.out.print(i + " ");  
          
        i = i + a;  // i incrementado
        a = i - a;   
          
    }  
          
  }  
                  
}  [/code]