Cadeia If-Else
Podemos adicionar condições adicionais usando a palavra-chave else if
. As condições adicionais são avaliadas caso as condições anteriores não sejam atendidas.
if (expression)
{
// code if first condition is met
}
else if (expression)
{
// code if second condition is met
} else
{
// code if no condition is met
}
Considere um exemplo com cadeia if else
:
main.cs
1234567891011121314151617181920212223242526using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else if(value_1 == value_2) { Console.WriteLine("Value 1 is equal to Value 2"); } } } }
No programa acima, encadeamos condições usando if-else if. Isso é chamado de encadeamento condicional. A primeira condição value_1 < value_2
é avaliada. Como é false
, o programa passa para a próxima condição value_1 > value_2
, que é true
e, portanto, executa o bloco de código correspondente e interrompe a execução do restante da cadeia.
A principal característica do encadeamento condicional é que ele interrompe a execução da cadeia assim que uma condição é satisfeita.
Considere o seguinte código:
main.cs
12345678910111213141516171819202122232425using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } else if(value > 7) { Console.WriteLine("Value is bigger than 7"); } else if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }
Mesmo que todas as três condições sejam true
, a execução para na primeira condição, pois trata-se de uma cadeia.
Agora, vamos tentar escrever usando apenas palavras-chave if
simples, sem encadeamento:
main.cs
123456789101112131415161718192021222324252627using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } if(value > 7) { Console.WriteLine("Value is bigger than 7"); } if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }
No caso acima, cada condição é avaliada individualmente e não é tratada como parte de uma cadeia, portanto, todas as três instruções são exibidas.
Também podemos adicionar a palavra-chave else
ao final da cadeia if-else
, que será executada se nenhuma condição for satisfeita:
main.cs
1234567891011121314151617181920212223242526using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else { Console.WriteLine("Value 1 is equal to Value 2"); } } } }
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain the difference between using chained if-else and separate if statements?
Can you provide more examples of conditional chaining?
What happens if none of the conditions in the if-else chain are true?
Awesome!
Completion rate improved to 1.59
Cadeia If-Else
Deslize para mostrar o menu
Podemos adicionar condições adicionais usando a palavra-chave else if
. As condições adicionais são avaliadas caso as condições anteriores não sejam atendidas.
if (expression)
{
// code if first condition is met
}
else if (expression)
{
// code if second condition is met
} else
{
// code if no condition is met
}
Considere um exemplo com cadeia if else
:
main.cs
1234567891011121314151617181920212223242526using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else if(value_1 == value_2) { Console.WriteLine("Value 1 is equal to Value 2"); } } } }
No programa acima, encadeamos condições usando if-else if. Isso é chamado de encadeamento condicional. A primeira condição value_1 < value_2
é avaliada. Como é false
, o programa passa para a próxima condição value_1 > value_2
, que é true
e, portanto, executa o bloco de código correspondente e interrompe a execução do restante da cadeia.
A principal característica do encadeamento condicional é que ele interrompe a execução da cadeia assim que uma condição é satisfeita.
Considere o seguinte código:
main.cs
12345678910111213141516171819202122232425using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } else if(value > 7) { Console.WriteLine("Value is bigger than 7"); } else if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }
Mesmo que todas as três condições sejam true
, a execução para na primeira condição, pois trata-se de uma cadeia.
Agora, vamos tentar escrever usando apenas palavras-chave if
simples, sem encadeamento:
main.cs
123456789101112131415161718192021222324252627using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } if(value > 7) { Console.WriteLine("Value is bigger than 7"); } if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }
No caso acima, cada condição é avaliada individualmente e não é tratada como parte de uma cadeia, portanto, todas as três instruções são exibidas.
Também podemos adicionar a palavra-chave else
ao final da cadeia if-else
, que será executada se nenhuma condição for satisfeita:
main.cs
1234567891011121314151617181920212223242526using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else { Console.WriteLine("Value 1 is equal to Value 2"); } } } }
Obrigado pelo seu feedback!