Menu
Coddy logo textTech

Operatory logiczne, część 3

Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 26 z 93.

Priorytet określa sposób grupowania wyrażenia. ! wiąże najsilniej, następnie &&, a potem ||. Zatem a || b && c oznacza a || (b && c).

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

Grupowanie różni się od kolejności ewaluacji. || przestaje działać, gdy jego lewy operand ma wartość true, a && — gdy jego lewy operand ma wartość false. W pierwszym powyższym wyrażeniu b && c nigdy nie jest ewaluowane, ponieważ a ma już wartość true.

Nawiasy mogą zmienić grupowanie lub je uściślić. Najpierw oblicz lewy operand, a następnie ustal, czy potrzebny jest prawy operand.

challenge icon

Wyzwanie

Łatwy

Napisz funkcję canAccessFeature, która przyjmuje isAdmin, isPremium i hasTrialActive, a następnie zwraca informację, czy użytkownik może uzyskać dostęp do funkcji premium.

Użytkownik może uzyskać dostęp do tej funkcji, jeśli jest administratorem lub jeśli jest zarówno użytkownikiem premium, jak i ma aktywny okres próbny.

Użyj nawiasów, aby zapewnić prawidłową kolejność obliczeń: warunek && powinien być zgrupowany przed połączeniem go z ||.

Parametry:

  • isAdmin (Boolean): Czy użytkownik jest administratorem
  • isPremium (Boolean): Czy użytkownik ma subskrypcję premium
  • hasTrialActive (Boolean): Czy użytkownik ma aktywny okres próbny

Zwraca: true, jeśli użytkownik może uzyskać dostęp do funkcji, w przeciwnym razie false (Boolean)

Dostarczony sterownik wywołuje Twoją funkcję i wyświetla zwróconą przez nią wartość. Zachowaj sygnaturę funkcji i nie dodawaj funkcji main.

Spróbuj swoich sił

fun canAccessFeature(isAdmin: Boolean, isPremium: Boolean, hasTrialActive: Boolean): Boolean {
    // Wpisz kod tutaj
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Kotlin