Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Quando ele incrementa?

No código abaixo, o contador tem o valor de 0, e o total também possui o valor 0. A minha dúvida é; como o while incrementa se o valor das duas variáveis é 0? E a operação (total = total + contador) deve ser interpretada 0 = 0 + 0?

public class TestaSomatoria {

public static void main(String[] args) {
    int contador = 0;
    int total = 0;

    while(contador <= 10) {

        total = total + contador;

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

}

1 resposta
solução!

E aí Thiago, tudo bem?

Vamos por partes, sabendo que contador e total valem 0:

A condição para que o while seja executado é que o contador seja menor ou igual a 10. Como inicialmente o contador vale 0, a expressão contador <= 10 é verdadeira, já que 0 é menor ou igual 10, o que retorna true.

while(contador <= 10) {

Agora que entramos no while, incrementamos o valor de total somando o valor contido dentro dele com o valor de contador através dessa expressão:

total = total + contador;

Nessa hora, leia o sinal de igual (=) como recebe, o que pode ser lido dessa forma: total RECEBE seu próprio valor(que é zero) + valor do contador(que também é zero). No caso, como tanto o total como o contador valem 0, ele não recebe nada.

Só uma dica, também é possível escrever essa mesma expressão assim que dá no mesmo:

total += contador;

Seguindo em frente, printamos o valor de total, que deve ser 0:

System.out.println(total);

E por último, somamos 1 ao valor de contador:

contador++;

Veja que é nessa hora que incrementamos o valor de contador para que da próxima vez que rodarmos o while ele passe a valer 1, depois 2, depois 3, e assim por diante.

Por exemplo, na segunda iteração do while, ele valerá 1. Portanto ele entra na condição de contador <= 10, e quando formos incrementar o valor de total, dessa vez total RECEBE seu próprio valor(que é zero) + valor do contador(que agora é 1), resultando em total valendo 1 ao final dessa iteração. Se tiver dificuldade em entender o que está acontecendo em um programa, deixe anotado em um papel as variáveis do programa e seus valores respectivos, então toda vez que o programa fizer alguma alteração, seja no total, ou no contador, mude também no papel onde você anotou e cheque se o que o programa está imprimindo está de acordo com o que você tem anotado.

Espero ter ajudado, se ficou alguma dúvida é só avisar que eu tento explicar de outro jeito!

Bons estudos!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software