У розробці додатків за допомогою Flutter, яка базується на мові програмування Dart, оператори порівняння відіграють ключову роль у створенні логіки програми. Ці оператори дозволяють порівнювати значення змінних, чисел, рядків чи інших типів даних, щоб приймати рішення в коді. У цій статті ми розглянемо основні оператори порівняння в Dart, надамо оригінальні приклади коду та додамо розділ із поширеними запитаннями (FAQs). Все це — українською мовою для вашої зручності!
Що таке оператори порівняння?
Оператори порівняння використовуються для порівняння двох значень. Результатом такого порівняння завжди є логічне значення: true (істина) або false (хибність). У Dart є шість основних операторів порівняння:
- == (дорівнює)
- != (не дорівнює)
- > (більше)
- < (менше)
- >= (більше або дорівнює)
- <= (менше або дорівнює)
Ці оператори можна використовувати з різними типами даних, такими як числа, рядки чи навіть об'єкти (за умови правильного визначення порівняння).
Приклади коду
1. Перевірка рівності (==) та нерівності (!=)
Ко Select
void main() {
int age1 = 25;
int age2 = 30;
bool isEqual = age1 == age2;
bool isNotEqual = age1 != age2;
print('Чи рівні ages? $isEqual'); // Виведе: Чи рівні ages? false
print('Чи не рівні ages? $isNotEqual'); // Виведе: Чи не рівні ages? true
}
2. Порівняння чисел (> та <)
Ко Select
void main() {
double temperature = 18.5;
double freezingPoint = 0.0;
bool isWarm = temperature > freezingPoint;
bool isCold = temperature < freezingPoint;
print('Чи тепло? $isWarm'); // Виведе: Чи тепло? true
print('Чи холодно? $isCold'); // Виведе: Чи холодно? false
}
3. Використання >= та <=
Ко Select
void main() {
int score = 85;
int passingScore = 60;
bool hasPassed = score >= passingScore;
bool hasFailed = score <= passingScore;
print('Чи склав іспит? $hasPassed'); // Виведе: Чи склав іспит? true
print('Чи провалив іспит? $hasFailed'); // Виведе: Чи провалив іспит? false
}
4. Порівняння рядків
Ко Select
void main() {
String userInput = 'привіт';
String expectedInput = 'Привіт';
bool isSame = userInput == expectedInput;
bool isDifferent = userInput != expectedInput;
print('Чи однакові рядки? $isSame'); // Виведе: Чи однакові рядки? false
print('Чи різні рядки? $isDifferent'); // Виведе: Чи різні рядки? true
}
5. Практичний приклад у Flutter
Цей приклад показує, як використати оператори порівняння у Flutter для відображення умовного тексту:
Ко Select
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
int userPoints = 150;
int requiredPoints = 100;
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('Перевірка балів')),
body: Center(
child: Text(
userPoints >= requiredPoints
? 'Вітаємо! Ви досягли мети!'
: 'Потрібно більше балів.',
style: TextStyle(fontSize: 20),
),
),
),
);
}
}
У цьому коді текст змінюється залежно від того, чи досяг користувач необхідної кількості балів.
FAQs: Часті запитання про оператори порівняння в Dart
- Чим відрізняється == від =?
Оператор = — це оператор присвоєння, який встановлює значення змінної. Наприклад, x = 5. Оператор == перевіряє, чи рівні два значення. Наприклад, x == 5 повертає true або false. - Чи можна порівнювати об'єкти за допомогою ==?
За замовчуванням == порівнює, чи два об'єкти є одним і тим самим екземпляром. Якщо ви хочете порівняти значення об'єктів, потрібно перевизначити метод == у вашому класі. Наприклад:Ко Selectclass Person {
String name;
Person(this.name);
@override
bool operator ==(Object other) => other is Person && name == other.name;
} - Чи чутливі оператори порівняння до регістру при роботі з рядками?
Так, оператор == чутливий до регістру. Наприклад, "Привіт" == "привіт" поверне false. Для порівняння без урахування регістру можна використовувати toLowerCase() або toUpperCase():Ко SelectString str1 = 'Привіт';
String str2 = 'привіт';
print(str1.toLowerCase() == str2.toLowerCase()); // Виведе: true - Як порівнювати числа з плаваючою комою?
Через особливості чисел із плаваючою комою (наприклад, 0.1 + 0.2 != 0.3), краще уникати прямого порівняння з ==. Замість цього використовуйте різницю з допустимою похибкою:Ко Selectdouble a = 0.1 + 0.2;
double b = 0.3;
bool isCloseEnough = (a - b).abs() < 0.0001;
print(isCloseEnough); // Виведе: true - Чи можна комбінувати оператори порівняння з логічними операторами?
Так, оператори порівняння часто комбінуються з логічними операторами (&&, ||, !) для створення складніших умов:Ко Selectint age = 20;
bool canVote = age >= 18 && age <= 120;
print(canVote); // Виведе: true
Висновок
Оператори порівняння в Dart — це основа для створення логіки у ваших Flutter-додатках. Вони прості у використанні, але водночас дуже потужні, особливо коли комбінуються з умовними конструкціями чи віджетами Flutter. Сподіваємося, що наведені приклади допоможуть вам краще зрозуміти ці оператори. Якщо у вас є власні ідеї чи запитання щодо використання операторів порівняння, діліться ними!