Menu
Coddy logo textTech

Operadores lógicos – Parte 3

Parte da seção Fundamentos do Journey de Kotlin da Coddy. Lição 26 de 93.

A precedência controla como uma expressão é agrupada. ! tem a maior precedência, seguido por && e depois por ||. Assim, a || b && c significa a || (b && c).

val a = true
val b = false
val c = false
println(a || (b && c)) // true
println((a || b) && c) // false

O agrupamento é diferente da ordem de avaliação. || para quando seu operando esquerdo é verdadeiro, e && para quando seu operando esquerdo é falso. Na primeira expressão acima, b && c nunca é avaliada porque a já é verdadeiro.

Os parênteses podem alterar o agrupamento ou torná-lo explícito. Avalie primeiro o operando esquerdo e, em seguida, determine se o operando direito é necessário.

challenge icon

Desafio

Fácil

Escreva uma função canAccessFeature que receba isAdmin, isPremium e hasTrialActive e retorne se um usuário pode acessar um recurso premium.

Um usuário pode acessar o recurso se for administrador, ou se for membro premium e tiver um período de teste ativo.

Use parênteses para garantir a ordem correta de avaliação: a condição && deve ser agrupada antes de ser combinada com ||.

Parâmetros:

  • isAdmin (Boolean): Se o usuário é administrador
  • isPremium (Boolean): Se o usuário tem uma assinatura premium
  • hasTrialActive (Boolean): Se o usuário tem um período de teste ativo

Retorno: true se o usuário puder acessar o recurso, false caso contrário (Boolean)

O driver fornecido chama sua função e imprime o valor retornado. Mantenha a assinatura da função e não adicione uma função main.

Experimente você mesmo

fun canAccessFeature(isAdmin: Boolean, isPremium: Boolean, hasTrialActive: Boolean): Boolean {
    // Escreva o código aqui
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Playground de Kotlin