Expressões
No contexto de programação, uma expressão é qualquer trecho de código que pode ser avaliado para produzir um único valor. Pense nela como uma "frase" no código que tem um significado e um resultado. Esse resultado pode ser um número, uma string, um valor booleano, ou até mesmo uma instância de um objeto.
A principal característica de uma expressão é que ela sempre retorna um valor.
Por exemplo:
1 + 2
é uma expressão que retorna o valor3
."Olá" + " " + "Mundo"
é uma expressão que retorna o valor"Olá Mundo"
.x > 5
é uma expressão que retorna um valor booleano,true
oufalse
.
Diferente de uma declaração ou instrução (como um if
ou um for
), que realiza uma ação, uma expressão é fundamentalmente sobre o cálculo e a obtenção de um valor.
Tipos de Expressões
As expressões podem ser classificadas em várias categorias, dependendo do tipo de valor que elas retornam e dos operadores que utilizam.
1. Expressões Literais e Constantes
São as formas mais simples de expressões. Elas representam valores fixos.
- Exemplos:
10
(literal inteiro)3.14
(literal de ponto flutuante)"Hello World"
(literal de string)true
(literal booleano)
2. Expressões de Variáveis
O nome de uma variável por si só é uma expressão, pois ele é avaliado para o valor que a variável armazena.
- Exemplo:
- Se
int x = 10;
, a expressãox
retorna o valor10
.
3. Expressões Aritméticas
Usam operadores aritméticos para realizar cálculos matemáticos.
- Exemplos:
5 * (2 + 3)
temperatura - 20
idade / 2
4. Expressões Lógicas e de Comparação
Produzem um valor booleano (true
ou false
).
- Expressão de Comparação:
idade > 18
-
nome == "Alice"
-
Expressão Lógica:
(saldo > 0) && (ativo == true)
5. Expressões de Atribuição
Atribuem um valor a uma variável. Embora a atribuição seja uma instrução, a expressão de atribuição retorna o valor que foi atribuído.
int y = 5;
(A expressãoy = 5
retorna o valor5
e o atribui à variávely
)
6. Expressões de Chamada de Método
Uma chamada de método é uma expressão se o método tiver um tipo de retorno (ou seja, se ele não for void
). O valor da expressão é o valor retornado pelo método.
string.Join(",", "a", "b", "c")
retorna a string"a,b,c"
.Math.Max(10, 20)
retorna o valor20
.
7. Expressões de Criação de Objeto
Usam a palavra-chave new
para criar uma nova instância de uma classe.
new List<string>()
retorna uma nova instância de uma lista de strings.
8. Expressões Condicionais
O operador ternário (? :
) é uma expressão condicional.
int max = (a > b) ? a : b;
(retornaa
se a condição fortrue
, oub
se forfalse
).
A partir da versão 8.0, as "switch expressions" também se encaixam aqui. Elas fornecem uma maneira mais concisa de escrever expressões baseadas em correspondência de padrões.
```csharp
string fruta = "banana";
string tipo = fruta switch
{
"maçã" => "É uma maçã.",
"banana" => "É uma banana.",
_ => "Outra fruta."
};
```
A expressão fruta switch { ... }
retorna a string correspondente ao valor da variável fruta
.
RESUMO
A diferença entre expressões e instruções é um conceito-chave na programação. As expressões constroem os valores, enquanto as instruções usam esses valores para executar ações.