Exercício – Incrementar e decrementar valores
As operações básicas finais que você aprenderá neste módulo são como incrementar e decrementar valores usando operadores especiais que são combinações de símbolos.
Incrementar e decrementar
Com frequência, você precisará incrementar e/ou decrementar valores, especialmente quando estiver escrevendo lógicas de loop ou o códigos que interagem com estruturas de dados.
O operador +=
adiciona e atribui o valor à direita do operador ao valor à esquerda do operador. Portanto, as linhas dois e três do seguinte snippet de código são equivalentes:
int value = 0; // value is now 0.
value = value + 5; // value is now 5.
value += 5; // value is now 10.
O operador ++
incrementa em uma (1) unidade o valor da variável. Portanto, as linhas dois e três do seguinte snippet de código são equivalentes:
int value = 0; // value is now 0.
value = value + 1; // value is now 1.
value++; // value is now 2.
Essas mesmas técnicas podem ser usadas para subtração, multiplicação e muito mais. As etapas do exercício a seguir destacarão algumas delas.
Observação
Operadores como +=
, -=
, *=
, ++
e --
são conhecidos como operadores de atribuição composta porque compõem uma operação além de atribuir o resultado à variável. O operador +=
é chamado especificamente de operador de atribuição de adição.
Escrever código para incrementar e decrementar um valor
Selecione todo o código no Editor do .NET e pressione a tecla Delete ou Backspace para excluir.
Insira o seguinte código no Editor do .NET:
int value = 1; value = value + 1; Console.WriteLine("First increment: " + value); value += 1; Console.WriteLine("Second increment: " + value); value++; Console.WriteLine("Third increment: " + value); value = value - 1; Console.WriteLine("First decrement: " + value); value -= 1; Console.WriteLine("Second decrement: " + value); value--; Console.WriteLine("Third decrement: " + value);
Execute o código. Você deve ver o seguinte resultado:
First increment: 2 Second increment: 3 Third increment: 4 First decrement: 3 Second decrement: 2 Third decrement: 1
Observação
No “segundo incremento”, você usou value += 1;
. No entanto, você poderia ter usado um valor int
literal (ou uma variável) para incrementar esse valor. O mesmo se aplica ao "segundo decremento": value -= 1;
.
Posicionar os operadores de incremento e decremento
Os operadores de incremento e decremento têm uma característica interessante: dependendo da posição em que são usados, eles executam a operação correspondente antes ou depois de recuperarem o valor. Em outras palavras, se você usar o operador antes do valor, como em ++value
, o incremento ocorrerá antes que o valor seja recuperado. Da mesma forma, value++
incrementará o valor após ele ser recuperado.
Usar o operador de incremento antes e depois do valor
Exclua o código das etapas anteriores e insira o código seguinte no Editor do .NET:
int value = 1; value++; Console.WriteLine("First: " + value); Console.WriteLine($"Second: {value++}"); Console.WriteLine("Third: " + value); Console.WriteLine("Fourth: " + (++value));
Execute o código. Você deve ver o seguinte resultado:
First: 2 Second: 2 Third: 3 Fourth: 4
Observe esta linha de código:
Console.WriteLine($"Second: {value++}");
Há duas etapas nesta linha:
- Recuperar o valor atual da variável
value
e usá-lo na operação de interpolação de cadeias de caracteres. - Incrementar o valor.
A próxima linha de código confirma que o valor foi, de fato, incrementado.
Console.WriteLine("Third: " + value);
Por outro lado, considere a última linha de código:
Console.WriteLine("Fourth: " + (++value));
Aqui, a ordem das operações é alterada porque o operador ++
é colocado antes do operando value
.
- Incrementar o valor.
- Recupere o novo valor incrementado da variável
value
e use-o na operação de string.
Embora não seja estritamente necessário, você adicionou parênteses em torno da expressão (++value)
para melhorar a legibilidade. Ver tantos operadores +
próximos uns dos outros faz com que pareça que o código poderia ser mal compreendido por outros desenvolvedores. Decisões estilísticas como essa são subjetivas. No entanto, como escreverá o código apenas uma vez, mas o lerá muitas vezes, você deve priorizar a legibilidade.
Recapitulação
Veja o que você aprendeu até agora sobre operações matemáticas em C#:
- Use operadores de atribuição compostos como
+=
,-=
,*=
,++
e--
para executar uma operação matemática como incremento ou decremento e, em seguida, atribua o resultado à variável original. - Operadores de incremento e decremento são executados de forma diferente quando o operador está antes ou depois do operando.