Operatory logiczne, część 1
Część sekcji Podstawy ścieżki Rust w Coddy. Lekcja 20 z 75.
Operatory logiczne służą do sprawdzania kombinacji porównań, które zwracają true lub false.
Na przykład poniższe zdanie zawiera dwa porównania:
Czy 5 jest większe od 3 i mniejsze od 6?
| Operator | Znaczenie | Przykład |
|---|---|---|
&& | Oraz — true, jeśli wszystkie operandy mają wartość true | a && b |
|| | Lub — true, jeśli dowolny operand ma wartość true | a || b |
! | Nie — true, jeśli operand ma wartość false | !a |
Zobaczmy kilka przykładów,
5 jest większe niż 3, a 1 jest równe 1,
let b1: bool = (5 > 3) && (1 == 1); // ma wartość trueWyjaśnienie: Wszystkie operandy mają wartość true, więc b1 będzie mieć wartość true (operacja and daje true, jeśli oba operandy mają wartość true) .
5 nie jest równe 4 lub 5 jest równe 2,
let b2: bool = !(5 == 4) || (5 == 2); // ma wartość trueWyjaśnienie: Pierwszy operand (5 != 4) ma wartość true, więc b2 również ma wartość true (operacja or ma wartość true, jeśli którykolwiek z operandów ma wartość true)
1 nie równa się 1 lub false,
let b3: bool = !(1 == 1) || false; // przechowuje wartość falseWyjaśnienie: Wszystkie operandy mają wartość false, więc b3 będzie miało wartość false (operacja or).
nie (3 jest większe niż 4),
let b4: bool = !(3 > 4); // ma wartość trueWyjaśnienie: Operand ma wartość false, więc b4 będzie miało wartość true (operacja not).
nie (5 jest większe niż 10 lub 5 jest większe niż 1),
let b5: bool = !(5 > 10 || 5 > 1); // ma wartość falseWyjaśnienie: 5 > 10 || 5 > 1 to true (jeden z operandów ma wartość true), więc łącznie b5 ma wartość false (operacja not).
Wyzwanie
PoczątkującyOtrzymujesz kod. Zastąp znaki zapytania w zmiennych b1 i b2 wartościami logicznymi, tak aby b3 miało wartość true.
Istnieje więcej niż jedno poprawne rozwiązanie.
Spróbuj swoich sił
fn main() {
// Wpisz swój kod poniżej
let b1: bool = ?;
let b2: bool = ?;
let b3: bool = b1 || b2;
// Nie zmieniaj poniższej linii
println!("b3 = {}", b3);
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloSkrócone operacje arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawowe wejście i wyjście
Wyświetlanie w konsoliOdczytywanie danych od użytkownikaPowtórka – do 120Powtórka – prawda czy fałsz5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka — prosta logikaOperatory logiczne, część 311Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneWiele wartości zwracanychPowtórka – funkcja SigmaPowtórka – funkcja walidująca14Iterowanie po tablicach
Przewodnik po zakresachUlepszona pętla forPożyczanie w pętliTypowe operacje na tablicach3Zmienne – część 2
Deklarowanie typuKonwencje nazewnictwaWnioskowanie o typiePodsumowanie – inicjalizacja zmiennychRzutowanie typów9Pętle
Pętla for dla sekwencjiPętla whileInstrukcja breakInstrukcja continuePętle zagnieżdżoneEtykiety pętliPętla nieskończonaPodsumowanie — dynamiczne dane wejściowe12Podstawy tablic
Deklarowanie tablicTablica jako parametrDostęp do elementówModyfikowanie tablicPodsumowanie — czytelny wydruk tablicy15Operacje na ciągach znaków
Metody ciągów znakówMakro format!Konwersja ciągów znakówPowtórka — formatowaniePoćwicz samodzielnie: Kompilator Rust online