Exercício - Valores de incremento e decréscimo
As últimas operações básicas que aprenderá neste módulo estão relacionadas com a forma de incrementar e decrementar valores com recurso a operadores especiais que são combinações de símbolos.
Incrementar e decrementar
Frequentemente, você precisará incrementar e/ou diminuir valores, especialmente quando estiver escrevendo lógica de looping ou código que interage com uma estrutura de dados.
O operador +=
faz a soma e atribui o valor que se encontra à direita do operador ao valor que se encontra à esquerda do operador. Assim, as linhas dois e três no seguinte fragmento de código são iguais:
int value = 0; // value is now 0.
value = value + 5; // value is now 5.
value += 5; // value is now 10.
O operador ++
incrementa o valor da variável em 1. Assim, as linhas dois e três no seguinte fragmento de código são iguais:
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. Os seguintes passos de exercício irão destacar algumas.
Nota
Os operadores como +=
, -=
, *=
, ++
e --
são conhecidos como operadores de atribuição compostos porque compõem uma qualquer operação para além de atribuírem o resultado à variável. O operador +=
é especificamente designado de operador de atribuição de adição.
Escrever código para incrementar e diminuir um valor
Selecione todo o código no Editor .NET e pressione Delete ou Backspace para excluí-lo.
Insira o seguinte código no Editor .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. Deverá ver o seguinte resultado:
First increment: 2 Second increment: 3 Third increment: 4 First decrement: 3 Second decrement: 2 Third decrement: 1
Nota
No "segundo incremento", você usou value += 1;
. No entanto, você poderia ter usado qualquer valor literal int
(ou uma variável) para incrementar esse valor. O mesmo se aplica ao "segundo decremento": value -= 1;
.
Posicionar os operadores de incremento e decréscimo
Tanto os operadores de incremento como de decréscimo têm uma qualidade interessante — dependendo da sua posição, realizam a sua operação antes ou depois de recuperarem o seu valor. Por outras palavras, se utilizar o operador antes do valor, como em ++value
, o incremento ocorrerá antes da obtenção do valor. Da mesma forma, value++
incrementará o valor após a recuperação do mesmo.
Use o operador de incremento antes e depois do valor
Exclua o código das etapas anteriores e insira o seguinte código no Editor .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. Deverá ver o seguinte resultado:
First: 2 Second: 2 Third: 3 Fourth: 4
Observe esta linha de código:
Console.WriteLine($"Second: {value++}");
Há dois passos associados a esta linha:
- Obter o valor atual da variável
value
e utilizá-lo na operação de interpolação de cadeia. - Incrementar o valor.
A seguinte linha de código confirma que o valor foi realmente incrementado.
Console.WriteLine("Third: " + value);
Considere agora a última linha de código:
Console.WriteLine("Fourth: " + (++value));
Aqui, a ordem das operações está trocada porque o operador ++
está colocado antes do operando value
.
- Incrementar o valor.
- Recupere o novo valor incrementado da variável
value
e use-o na operação de cadeia de caracteres.
Embora não seja estritamente necessário, você adicionou parênteses em torno da expressão (++value)
para melhorar a legibilidade. Ver tantos operadores +
uns ao lado dos outros poderia ser mal interpretado por outros programadores. As decisões estilísticas como esta são subjetivas. No entanto, como você escreverá o código uma vez, mas o lerá muitas vezes, você deve priorizar a legibilidade.
Recapitulação
Aqui está o que você aprendeu até agora sobre operações matemáticas em C#:
- Utilize operadores de atribuição compostos, tais como
+=
,-=
,*=
,++
e--
, para realizar uma operação matemática como incrementos ou decrementos e, em seguida, atribua o resultado à variável original. - Os operadores de incremento e decremento atuam de forma diferente dependendo do facto de o operador estar antes ou depois do operando.