Conceito
- É possível declarar a variável de controle diretamente na declaração do laço for.
- Isso é útil quando a variável só é necessária dentro do próprio laço.
Vantagens
- Melhora a legibilidade e organização do código.
- Limita o escopo da variável ao laço, reduzindo a possibilidade de erros.
Exemplo
- O programa a seguir calcula a soma e o fatorial dos números de 1 a 5, declarando a variável de controle i dentro do for:
// Declara a variável de controle de laço dentro de for.
class ForVar {
public static void main(String args[]) {
int sum = 0;
int fact = 1;
// calcula o fatorial dos números até 5
for(int i = 1; i <= 5; i++) {
sum += i; // i é conhecida em todo o laço
fact *= i;
}
// mas não é conhecida aqui
System.out.println("Sum is " + sum);
System.out.println("Factorial is " + fact);
}
}
Importante
O escopo da variável declarada dentro do for é limitado ao laço.
Fora do for, a variável não é acessível:
// Declaração correta dentro do for
for (int i = 0; i < 5; i++) {
System.out.println(i); // i é acessível aqui
}
// System.out.println(i); // Erro: i não é conhecida fora do laço
Uso e Limitações
Declare a variável dentro do for quando ela não for necessária fora do laço.
Se precisar usar a variável fora do laço, declare-a antes do for:
int i; // Declarada fora do laço
for (i = 0; i < 5; i++) {
System.out.println(i);
}
// i é acessível aqui
System.out.println("Final value of i: " + i);
Exploração
Teste variações do laço for para entender melhor sua flexibilidade e comportamento.