No artigo anterior, abordamos as variáveis e constantes no Dart. Neste artigo, conheceremos suas estruturas condicionais e de repetição.
Estruturas de condição no Dart
Estruturas de condição são artifícios das linguagens de programação para determinar qual bloco de código será executado a partir de uma determinada condição. No Dart, assim como em outras linguagens, podemos trabalhar com as estruturas de condição utilizando o if/else e o switch/case como veremos abaixo.
if/else
O if e o else são comandos que verificam determinada condição na programação.
O uso do if em um programa em Dart visa verificar se determinada ação é verdadeira e executar o bloco de código contido em seu escopo. Basicamente é feita da seguinte forma:
Exemplo:
void main() {
var idade = 18;
if (idade < 18) {
print("Você é menor de idade");
}
}
No código acima, estamos declarando uma variável chamada idade
que recebe a idade de um usuário. Com a estrutura if
, podemos verificar se o valor da variável idade
é menor que 18. Caso positivo, exibimos a mensagem “Você é menor de idade”.
Já o uso do if/else fará com que uma das ações sejam executadas, já que se a condição dentro do if não for verdadeira, será executado o código contido no else. O if/else irá testar caso a condição seja verdadeira e executar uma determinada ação ou caso a mesma não seja, executar outra.
Exemplo:
void main() {
var idade = 18;
if (idade < 18) {
print("Você é menor de idade");
} else {
print("Você é maior de idade");
}
}
O código acima é similar ao anterior, com a diferença que, caso o valor da variável idade
não seja menor que 18, será exibida a mensagem “Você é maior de idade”, contido no else
.
Curso Dart - Fundamentos
Conhecer o cursoswitch/case
Por sua vez, o switch/case na programação, da mesma forma que o if também tem a função de verificar se determinada ação é verdadeira e executar o bloco de código contido em seu escopo, controlando assim o fluxo do programa. O comando switch compara o valor de uma variável aos valores que serão especificados nos comandos case.
Exemplo:
void main() {
var opcao = 2;
switch (opcao) {
case 1:
print("Cadastrar");
break;
case 2:
print("Listar");
break;
default:
print("Sair");
}
}
No código acima, estamos avaliando o valor da variável opcao
dentro do switch
. Caso o valor seja 1, executamos o bloco de código contido no case
e exibimos a mensagem “Cadastrar”. Caso o valor seja 2, executamos o bloco de código contigo no outro case
para exibir a mensagem “Listar”. Caso a opção não esteja definida nos “cases”, executamos o bloco de código contigo no default
e exibimos a mensagem “Sair”.
Estruturas de Repetição no Dart
Estruturas de repetição são artifícios das linguagens de programação para executar um determinado bloco de código por uma certa quantidade de vezes, seja ela definida (utilizando o for) ou a partir de uma condição (utilizando o while).
for
A estrutura de repetição for executará um determinado bloco de código por um número definido de vezes. Esta estrutura é muito útil quando já sabemos a quantidade de vezes que precisamos executar determinado bloco de código.
Exemplo:
void main() {
for (int numero = 1; numero <= 10; numero++){
if (numero % 2 == 0) {
print(numero);
}
}
}
No exemplo acima, estamos criando um intervalo de 1 a 10 e verificando os números dentro deste intervalo que são pares (resto da divisão deste número por 2 é igual a 0). Com o for, basta definir o início e fim deste intervalo e o valor a ser incrementado. No caso do exemplo acima, estamos iniciando o intervalo por 1 e executando-o enquanto o número seja menor ou igual a 10, além de incrementar seu valor em uma unidade a cada execução.
while
O while é uma estrutura de repetição que permite executar um determinado bloco de código enquanto uma condição for verdadeira. É muito similar ao if, com a diferença que o bloco será executado enquanto a condição for verdadeira, e não se a condição for verdadeira.
Para isso, após o comando while precisamos definir uma condição que será testada a cada execução do seu loop. O while só será finalizado quando essa condição não for mais atendida.
Exemplo:
void main() {
var numero = 1;
while (numero <= 10) {
if (numero % 2 == 0) {
print(numero);
}
numero++;
}
}
No exemplo acima, estamos declarando uma variável chamada “numero” e utilizamos a estrutura while
para executar o bloco contido em seu escopo enquanto a variável seja menor ou igual a 10. Além disso, para cada número percorrido, verificamos se o resto da sua divisão por 2 é igual a 0, caso positivo, este número é par.
Por fim, incrementamos o valor desta variável para não cairmos em um “loop infinito”.
do/while
O do/while é uma estrutura de repetição que terá quase o mesmo funcionamento que a estrutura de repetição while, porém, a diferença entre eles é que no do/while o comando será executado ao menos uma única vez.
Exemplo:
void main() {
var numero = 1;
do {
if (numero % 2 == 0) {
print(numero);
}
numero++;
} while (numero <= 10);
}
Seguindo o mesmo exemplo das estruturas anteriores, com o do while
, a primeira execução sempre é feita, já que o teste só é realizado no final da estrutura. Deste modo, sempre que precisarmos de uma estrutura de repetição que execute, no mínimo, a primeira vez, a melhor escolha é o do while
.