1
resposta

escopo contador++

Gente, não entendi porque fora do while se eu mandar imprimir o contador o valor atribuído é 11, sendo que o contador++ está dentro do escopo do while. Não teria que ser contador = 0?

public class TestaWhile {

    public static void main(String[] args) {

        int contador = 0;
        while(contador <= 10) {

            System.out.println(contador);
            contador++;
        }

        System.out.println(contador);
    }

}
1 resposta

O contador foi declarado fora do bloco do while então o escopo dele é o mesmo do método main(). O escopo da variável depende de onde ela foi declarada, no caso foi com esse código:

        int contador = 0;

Caso esse fosse declarado dentro do while vc não conseguiria imprimi-lo fora dele.