|
Что такое выражения мы узнали. Настало время вспомнить, что же такое оператор?
Операторы
Здесь опять вспомним школу. Помните простые арифметические операторы? Такие как сложение, деление, вычитание, умножение. В 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. Сверху вниз приоритет убывает. Операторы (* и /) имеют одинаковый приоритет, и в выражении вычисляются слева направо. Это же относится к операторам сложения и деления. Если в выражении встречаются операторы из разных категорий, то вычисляются они в порядке столбцов слева направо. Т.е. сначала арифметические, затем операторы сравнения и лишь затем логические операторы.
|