Saltar para o conteúdo

ActionScript/Condicionais

Origem: Wikilivros, livros abertos por um mundo aberto.

As cláusulas condicionais servem para o programa, baseando-se numa lógica de comparação, tomar uma decisão específica.

A declaração if é uma das mais comuns. Também pode ser usados as declarações else if e else.

Exemplo (os espaços e retornos de carro entre os blocos não são obrigatórios; foram inseridos para uma melhor visualização):

var idade:int = 17;

if (idade < 18){
    trace("Você é menor de idade.");
}

else if (idade >= 18 && idade < 65){
    trace("Você é maior de idade e adulto.");
}

else {
    trace("Você tem mais de 65 anos");
}

Há estes operadores de comparação disponíveis:

  • Operador de igualdade - ==
  • Operador de não-igualdade - !=
  • Operador de maior - >
  • Operador de menor - <
  • Operador de maior ou igual a - >=
  • Operador de menor ou igual a - <=

Você também pode usar os seguintes operadores lógicos:

  • Operador E - &&
  • Operador OU - ||
  • Operador de negação (false) - !

Exemplo:

var nome:String = "Fulano";

if (nome == "Fulano" || nome == "Beltrano" ){
    trace("Aceito.");
}

else if (nome != "Fulano" && nome != "Beltrano"){
    trace("Seu nome não é Fulano nem Beltrano.");
}

else {
    trace("Nome desconhecido");
}

Há também o operador is que analisa se uma condição é verdadeira ou se uma variável é de algum tipo:

var txt:String = new String();
			
if (txt is String)
{
    txt = "verdadeiro";
}
else
{
    txt = "falso";
}

No caso, txt será igual a "verdadeiro", pois é uma String.

Uma condicional pode se tornar muito burocrática em casos de comparações bem simples. Há a opção switch, que é um modo de comparação mais simplificado e leve que o if, porém não pode ser usado para comparações complexas. Em vez de else, esta condicional utiliza a palavra case para sinalizar uma comparação. E no fim de cada comparação é necessário inserir a palavra reservada break, senão todos os comandos serão lançados até o fim do switch (causando erro de comparação). A palavra default executa uma ação caso nenhuma das comparações tenha sido bem-sucedida. É como uma ação-padrão.

Exemplo:

var nota:int = 7;

switch (nota)
{    
    // Notas para ser aprovado...
    case 7:
        trace("Aprovado no limite!");
        break;

    case 8:
        trace("Boa nota, aprovado.");
        break;

    case 9:
        trace("Ótimo, aprovado, parabéns.");
        break;

    case 10:
        trace("NOTA DEZ! Excelente!!!");
        break;

    // Qualquer nota abaixo de 7
    default:
        trace("Você não foi aprovado...");
        break;
}