Оператори
Пам’ятаєте прості арифметичні оператори? Такі як додавання, ділення, віднімання та множення. У Visual Basic вони також є. І їх з легкістю можна використовувати. Давайте розглянемо приклад з попереднього уроку:
c = 5 + 5 * 2
У виразі 5 + 5 * 2 використовуються 2 оператора: + і *. Їхні дії очевидні - додавання і множення. Так само, як і в алгебрі, тут діє принцип пріоритетів. Він полягає в тому, що кожний оператор має свій пріоритет. Наприклад, множення має більший пріоритет, чим, скажемо, додавання. Тому результат такого виразу не 20, а 15. Пріоритет можна вказати явно, поставивши в потрібній частині виразу круглі дужки:
c = (5 + 5) * 2
Тепер результат виразу - 20, тому що спочатку виконається оператор додавання і тільки потім множення.
Пам’ятаєте на попередньому уроці ми використовували Not, для заперечення. Отож - Not - це теж оператор, тільки не арифметичний, а логічний.
У Visual Basic оператори бувають наступних типів:
Арифметичні:
- ^ оператор піднесення в степінь.
- * оператор множення.
- / оператор ділення
- \ оператор цілочисленого ділення
- Mod оператор обчислення залишку від ділення
- + оператор додавання
- - оператор віднімання
Порівняння:
- < менше
- > більше
- <= менше або дорівнює
- >= більше або дорівнює
- = дорівнює
- <> не дорівнює
Конкатенації:
- + оператор конкатенації
- & оператор конкатенації
Логічні:
- And оператор логічного множення
- Eqv оператор логічної еквівалентності
- Imp оператор логічної імплікації
- Not оператор логічного заперечення
- Or оператор логічного додавання
- Xor оператор логічного додавання, що виключає
Як я вже говорив, кожний оператор має свій пріоритет, і кожний вираз обчислюється з урахуванням цих пріоритетів. Для довідки я хочу привести дуже цікаву таблицю пріоритетів:
Арифметичні | Порівняння | Логічні |
Піднесення в степінь (^) | Рівно (=) | Заперечення (Not) |
Заперечення (-) | Нерівно (<>) | Множення (And) |
Множення та ділення (*,/) | Меньше чим (<) | Додавання (Or) |
Цілочислене ділення (\) | Більше чим (>) | Виключення (Xor) |
Залишок від ділення (Mod) | Менше або рівно (<=) | Еквівалентність (Eqv) |
Додавання та віднімання (+,-) | Більше або рівно (>=) | Імплікація (Imp) |
Конкатенація (&) | Відповідність масці (Like) | |
Приналежність до типу (Is) |
В цій таблиці зверху вниз показаний порядок проходження пріоритетів операторів Visual Basic. Зверху вниз пріоритет зменшується. Оператори (* і /) мають однаковий пріоритет, і у виразі обчислюються зліва на право. Це ж саме відноситься до операторів додавання та віднімання. Якщо ж у виразі зустрічаються оператори з різних категорій, то обчислюються вони в порядку стовпчиків зліва на право. Тобто спершу арифметичні, потім оператори порівняння і лише потім логічні оператори.