Логические операторы. Часть 1
Часть раздела Fundamentals путешествия по Rust на Coddy — урок 20 из 75.
Логические операторы используются для проверки комбинаций сравнений, которые возвращают true или false.
Например, следующее утверждение содержит два сравнения:
Является ли 5 больше 3 и меньше 6?
| Оператор | Значение | Пример |
|---|---|---|
&& | И — true, если все операнды равны true | a && b |
|| | ИЛИ — true, если хотя бы один операнд равен true | a || b |
! | НЕ — true, если операнд равен false | !a |
Давайте рассмотрим несколько примеров,
5 больше 3 и 1 равно 1,
let b1: bool = (5 > 3) && (1 == 1); // содержит trueОбъяснение: Все операнды равны true, поэтому b1 будет содержать true (операция and возвращает true, если оба операнда равны true).
5 не равно 4 или 5 равно 2,
let b2: bool = !(5 == 4) || (5 == 2); // истинноОбъяснение: Первый операнд (5 != 4) равен true, поэтому b2 также равно true (операция or возвращает true, если хотя бы один из операндов равен true)
1 не равно 1 или false,
let b3: bool = !(1 == 1) || false; // содержит falseОбъяснение: Все операнды равны false, поэтому b3 будет содержать false (операция or).
не (3 больше 4),
let b4: bool = !(3 > 4); // содержит trueОбъяснение: Операнд равен false, поэтому b4 будет содержать true (операция not).
не (5 больше чем 10 или 5 больше чем 1),
let b5: bool = !(5 > 10 || 5 > 1); // содержит falseОбъяснение: 5 > 10 || 5 > 1 — это true (один из операндов равен true), поэтому в итоге b5 равно false (операция not).
Задание
НовичокВам предоставлен код. Замените вопросительные знаки в переменных b1 и b2 логическими значениями так, чтобы b3 содержала true.
Существует более одного правильного решения.
Шпаргалка
Логические операторы используются для проверки комбинаций сравнений, которые возвращают true или false.
| Оператор | Значение | Пример |
|---|---|---|
&& |
И - true, если все операнды равны true |
a && b |
|| |
Или - true, если хотя бы один операнд равен true |
a || b |
! |
Не - true, если операнд равен false |
!a |
Примеры:
let b1: bool = (5 > 3) && (1 == 1); // true (оба операнда истинны)
let b2: bool = !(5 == 4) || (5 == 2); // true (первый операнд истинный)
let b3: bool = !(1 == 1) || false; // false (оба операнда ложны)
let b4: bool = !(3 > 4); // true (операнд ложный, поэтому операция "не" возвращает true)
let b5: bool = !(5 > 10 || 5 > 1); // false (выражение внутри истинно, поэтому операция "не" возвращает false)Попробуйте сами
fn main() {
// Введите ваш код ниже
let b1: bool = ?;
let b2: bool = ?;
let b3: bool = b1 || b2;
// Не изменяйте строку ниже
println!("b3 = {}", b3);
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияАрифметические сокращенияОператоры сравненияСравнение строк7Основы ввода-вывода
Вывод в консольЧтение ввода пользователяПовторение — До 120Повторение — True или False5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 38Приложение-калькулятор
Приветственное сообщениеПолучение чисел3Переменные. Часть 2
Объявление типаСоглашения об именованииВывод типовПовторение: инициализация переменныхПриведение типов9Циклы
Цикл For по последовательностиЦикл WhileОператор BreakОператор ContinueВложенные циклыМетки цикловБесконечный циклПовторение — Динамический ввод