Оператори

Пам’ятаєте прості арифметичні оператори? Такі як додавання, ділення, віднімання та множення. У 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. Зверху вниз пріоритет зменшується. Оператори (* і /) мають однаковий пріоритет, і у виразі обчислюються зліва на право. Це ж саме відноситься до операторів додавання та віднімання. Якщо ж у виразі зустрічаються оператори з різних категорій, то обчислюються вони в порядку стовпчиків зліва на право. Тобто спершу арифметичні, потім оператори порівняння і лише потім логічні оператори.