Algoritmo de Fibonacci

Olá.

Gostaria de uma explicação para melhor entender a estrutura abaixo, como é feito o incremento nos valores, alguém pode me ajudar?

public class Fibonacci {

public static void main(String[] args) {

	for (int a = 0, b = 1, i = 0; i < 15; b += a, a = b - a, i++) {

		System.out.println(a + " ");

	}

	System.exit(0);

}

}

Se a sua dúvida for o +=, olhe esse tópico link

É equivalente a

public static void main(String[] args) {
	// int a = 0, b = 1, i = 0; (o primeiro trecho do for)
	int a = 0;
	int b = 1;
	int i = 0;
	// (o segundo trecho do for)
	for (; i < 15;) {

		System.out.println(a + " ");
		
		// b += a, a = b - a, i++ (o terceiro trecho do for)
		b += a;
		a = b - a;
		i++;

	}
}

ou melhor ainda

public static void main(String[] args) {
	// int a = 0, b = 1, i = 0;
	int a = 0;
	int b = 1;
	int i = 0;
	while (i < 15) {

		System.out.println(a + " ");
		
		// b += a, a = b - a, i++
		b += a;
		a = b - a;
		i++;

	}
}

Evite fazer:

for (int a = 0, b = 1, i = 0; i < 15; b += a, a = b - a, i++) {

pois é mais difícil de entender e visualizar o código.

O System.exit(0); é desnecessário ali.