Fiz meu código um pouco diferente testando apenas se é menor que 10 (testar 10 vezes, 0 a 9), e coloquei pra imprimir uma mensagem com o ultimo valor da variavel contador fora do while, mas notei que estava dando um erro, que na verdade acabei descobrindo que é uma forma de testar do java, quando eu coloco >= o java testa se é maior e igual, quando eu coloco só o = ele não testa se é igual, testa na verdade, mas se é booleano, mas não testa da forma que eu achei que seria, no caso se é igual a 10, da variavel do tipo inteiro. Testei o == e ai percebi que compilou. Era só isso, só essa particularidade mesmo..
Segue código.
public class TestaWhile {
public static void main(String[] args) {
int contador = 0;
while (contador < 10) {
System.out.println("Contador vale "+contador);
contador ++;
//if (contador = 10) { se colocar só o operador =, ele testa booleano e não inteiro.
if (contador == 10) {
System.out.println("Contador terminado: "+contador);
}
}
}
}