Операторы языка программирования visual basic

Операторы языка программирования visual basic

Visual Basic.NET поддерживает большинство стандартных операций, принятых и в других языках программирования. Рассмотрим все виды операций.

Арифметические операции

  • + сложение двух чисел
  • — вычитание двух чисел
  • * умножение
  • ^ возведение в степень
  • / обычное деление
  • \ целочисленное деление двух чисел
  • Mod Получение остатка от деления двух чисел
Dim x1 As Integer = 6 + 7 'Результат равен 13 Dim x2 As Integer = 6 - 7 'Результат равен -1 Dim x3 As Integer = 6 * 7 'Результат равен 42 Dim x4 As Integer = 12 / 6 'Результат равен 2 Dim x5 As Integer = 13 \ 6 'Результат равен 2, а остаток отбрасывается Dim x6 As Integer = 13 Mod 6 'Результат (он же остаток от деления 13 на 6) равен 1 Dim x7 As Integer = 6 ^ 2 'Результат равен 36

Операции сравнения и логические операции

В Visual Basic.NET также имеются операторы сравнения:

Также в языке определены логические операторы, которые возвращают в отличие от арифметических операций значение типа Boolean:

  • And Логическое умножение (логическое И)
  • Or Логическое сложение (логическое ИЛИ)
  • Xor Исключающее «или»
  • Not Логическое отрицание
  • AndAlso Сокращенный оператор And
  • OrElse Сокращенный оператор Or

Оператор And возвращает результат True только в том случае, если все выражения истинны. В остальных случаях он возвращает False. Оператор Or возвращает True, если хотя бы одно из выражений истинно. Он возвращает False тогда, когда неверны все выражения. Оператор Xor возвращает True, если одно из выражений истинно, а другое ложно. В остальных случаях, если оба выражения либо истинны, либо ложны, возвращается False. Оператор Not возвращает True, если выражение ложно, и False, если выражение истинно. Примеры использования:

Dim x As Boolean = 6 > 2 And 2 < 4 'Результат True, так как и первое выражение и второе выражение истинны Dim y As Boolean = 6 >2 And 2 > 4 'Результат False, так как только одно выражение истинно Dim x1 As Boolean = 6 > 2 Or 2 < 4 'Результат True, так как хотя бы одно выражение истинно Dim y1 As Boolean = 6 >2 Or 2 > 4 'Результат True, так как опять же одно выражение истинно Dim y2 As Boolean = 6 < 2 Or 2 >4 'Результат False, так как оба выражения ложны Dim x2 As Boolean = 6 > 2 Xor 2 < 4 'Результат False, так как оба выражения истинны Dim y2 As Boolean = 6 >2 Xor 2 > 4 'Результат True, так как одно выражение истинно, а другое ложно Dim x3 As Boolean = Not 2 < 4 'Результат False, так как выражение истинно Dim y3 As Boolean = Not 2 >4 'Результат True, так как выражение ложно

Операторы AndAlso и OrElse хотя возвращают тот же самый результат, что и And и Or, но все же между ними есть отличия. Так допустим у нас есть следующие два выражения, возвращающие идентичный результат :

Dim x As Boolean = 6 > 2 And 2 < 4 Dim x As Boolean = 6 >2 AndAlso 2 < 4

Все сказанное в отношении пары And/AndAlso характерно и для пары Or/OrElse : если оператор Or проверяет истинность правого и левого выражения, то оператор OrElse проверяет сначала истинность первого выражения, и только если оно False, проверяет на истинность второе выражение.

Читайте также:  Самый медленный язык программирования

Поэтому в целях ускорения работы программы рекомендуется использовать AndAlso и OrElse . Однако иногда сокращенные логические операторы не могу употребляться: в поразрядных операциях. В таких операциях необязательно возвращается значение типа Boolean, оно может представлять и другой тип данных. Например:

Dim i As Integer i = 4 And 5

Здесь числа 4 и 5 рассматриваются как двоичные:

число 4 в двоичной форме имеет представление 100,

а число 5 в двоичной форме имеет представление 101

Здесь действует та же логика, что и в логических операциях, только теперь сравниваются разряды чисел. В итоге это выражение возвращает нам число 4, потому что результат операции в двоичной форме будет иметь форму 100.

С помощью поразрядной операции Xor удобно применять примитивное шифрование:

Dim x As Byte = 102 'Пусть это будет ключ - в двоичной форме 1100110 Dim y As Byte = 45 'Значение, которое надо зашифровать - в двоичной форме 101101 Dim z As Byte = y Xor x Console.WriteLine(z) 'Результатом будет число 1001011 или 75 'Обратная операция - расшифровка y = z Xor x Console.WriteLine(y) 'Результатом будет исходное число 45

Операции сдвига

Еще один класс операций представляют операции поразрядного сдвига >. Они имеют следующий синтаксис:

результат = число >) число разрядов

Сдвинем число 64 на два разряда влево и мы получим 256

Теперь сдвинем число 64 вправо также на два разряда и мы получим 16:

Dim num1 = 64 >> 2 Console.WriteLine(num1)

Несмотря на то, что с первого взгляда кажется, что данные операторы редко используются. нельзя не отметить их практическую ценность. Поскольку каждый сдвиг на один разряд вправо приравнивается к делению на 2, а сдвиг влево - к умножению на 2, то операции сдвига можно использовать вместо деления/умножения на степени двойки, тем более с точки зрения архитектуры компьютера операции сдвига будут отрабатывать быстрее, чем операции умножения и деления на 2.

Операции присваивания

Ну и в конце мы рассмотрим операции присваивания.

  • = Присваивание
  • ^= Присваивание после возведения в степень
  • *= Присваивание после умножения
  • /= Присваивание после деления
  • \= Присваивание после целочисленного деления
  • += Присваивание после сложения
  • -= Присваивание после вычитания
  • >>= Присваивание после сдвига вправо
  • &= Присваивание после конкатенации двух значений

Большинство операций присваивания представляют сокращенную форму других операций. Так, выражение

Подобным образом работают и другие операторы присваивания. Отдельно скажем про конкатенацию. Оператор &= предназначен для сцепления двух строк:

Dim s As String = "hello" s&=" world" 'В итоге переменная s будет иметь значение "Hello world"

Если же эту операцию применить к числам, то они сначала будут преобразованы в строки, а затем эти строки будут подобным образом объединены:

Dim s As Integer = 6 s&=7 'В итоге переменная s будет иметь значение 67

Источник

Операторы и выражения в Visual Basic

Оператор представляет собой элемент кода, который выполняет операцию с одним элементом кода или несколькими, содержащими значения. К элементам значений относятся переменные, константы, литералы, свойства, возвращаемые значения из процедур Function и Operator , а также выражения.

Выражение представляет собой набор элементов значений в сочетании с операторами, результатом которого является новое значение. Операторы работают с элементами значений, выполняя вычисления, сравнения и другие операции.

Типы операторов

Visual Basic предоставляет следующие типы операторов:

  • Арифметические операторы выполняют обычные вычисления с числовыми значениями, включая сдвиг их битовых шаблонов.
  • Операторы сравнения сравнивают два выражения и возвращают значение Boolean , соответствующее результату сравнения.
  • Операторы объединения соединяют несколько строк в одну.
  • Логические и побитовые операторы в Visual Basic объединяют Boolean или числовые значения и возвращают результат того же типа данных, что и значения.

Элементы значений, объединенные с оператором, называются операндами этого оператора. Операторы, объединенные с элементами значений, формируют выражения. Исключением является оператор присваивания, который образует инструкцию. Дополнительные сведения см. в разделе Инструкции.

Вычисление выражений

Конечный результат выражения представляет собой значение, которое обычно имеет знакомый тип данных, например Boolean , String или числовой тип.

Ниже приведены примеры выражений.

' The preceding expression evaluates to 9.

' The preceding expression evaluates to 45 plus the value of x.

' The preceding expression evaluates to "Concatenation".

' The preceding expression evaluates to False.

Несколько операторов могут выполнять действия в одном выражении или инструкции, как показано в следующем примере.

В предыдущем примере Visual Basic выполняет операции в выражении справа от оператора присваивания ( = ), а затем присваивает результирующее значение переменной x слева. С практической точки зрения в выражение можно объединять сколько угодно операторов, но следует учитывать приоритет операторов в Visual Basic для получения желаемых результатов.

См. также раздел

Источник

Общие сведения о синтаксисе Visual Basic

В синтаксисе, который описан в разделе справки Visual Basic, посвященном методам, функциям и операторам, показаны все элементы, необходимые для их правильного использования. Примеры в этой теме поясняют, как интерпретировать наиболее часто используемые элементы синтаксиса.

Синтаксис метода Activate

object.Activate

В синтаксисе метода Activate слово "object", написанное курсивом, является заполнителем для предоставляемых данных — в данном случае это код, возвращающий объект. Необходимо четко придерживаться написания слов, выделенных полужирным шрифтом. Например, следующая процедура активирует второе окно в активном документе.

Sub MakeActive() Windows(2).Activate End Sub 

Синтаксис функции MsgBox

MsgBox (prompt, [ buttons, ] [ title, ] [ helpfile, context ])

В синтаксисе функции MsgBox выделенные курсивом слова являются именованными аргументами функции. Аргументы, заключенные в квадратные скобки, использовать не обязательно. (Не используйте квадратные скобки в коде Visual Basic). Единственный обязательный аргумент для функции MsgBox — это текст для приглашения.

Аргументы функций и методов можно указывать в коде двумя способами: по позиции или по имени. Чтобы указать аргументы по позиции, придерживайтесь порядка, представленного в синтаксисе, отделяя каждый аргумент запятой, например:

MsgBox "Your answer is correct!",0,"Answer Box" 

Чтобы указать аргументы по имени, необходимо после имени аргумента поставить двоеточие и знак равенства (:=), а затем задать значение аргумента. Именованные аргументы можно указывать в любом порядке, например:

MsgBox Title:="Answer Box", Prompt:="Your answer is correct!" 

Синтаксис функций и некоторых методов содержит аргументы, заключенные в скобки. Это необходимо для присвоения значения переменной, так как эти функции и методы возвращают значения. Не используйте скобки, если вы не учитываете возвращаемое значение или не передаете аргументы. Методы, которые не возвращают значения, не нуждаются в аргументах, заключенных в круглые скобки. Эти рекомендации подходят как для позиционных, так и для именованных аргументов.

В примере ниже возвращаемое значение функции MsgBox представляет собой число, обозначающее выбранную кнопку, которая хранится в переменной myVar . Так как используется возвращаемое значение, скобки обязательны. Значение переменной отображается в другом окне сообщения.

Sub Question() myVar = MsgBox(Prompt:="I enjoy my job.", _ Title:="Answer Box", Buttons:="4") MsgBox myVar End Sub 

Синтаксис оператора Option Compare

В синтаксисе оператора Option Compare фигурные скобки и вертикальная черта обозначают обязательный выбор между тремя элементами. (Не используйте фигурные скобки в операторе Visual Basic). Например, этот оператор указывает, что строки модуля будут сравниваться в порядке сортировки без учета регистра.

Синтаксис оператора Dim

Dimvarname [([ subscripts ])] [ Astype, ] [ варнаме [([ subscripts ])] [ Astype ]] . . .

В синтаксисе оператора Dim слово Dim является необходимым ключевым словом. Единственным обязательным элементом является элемент varname (имя переменной).

Например, указанный ниже оператор создает три переменные: myVar , nextVar и thirdVar . Они автоматически объявляются переменными типа Variant.

Dim myVar, nextVar, thirdVar 

В приведенном ниже примере показано объявление переменной типа String. Добавление типа данных экономит память и помогает находить ошибки в коде.

Чтобы объявить несколько переменных в одном операторе, включите тип данных для каждой переменной. Переменным, объявленным без типа данных, автоматически назначается тип Variant.

Dim x As Integer, y As Integer, z As Integer 

В представленном ниже операторе переменным x и y назначается тип данных Variant. Переменная z является единственной, которой присваивается тип данных Integer.

Сокращение для объявления переменных x и y типом Integer в приведенном выше операторе

Сокращение для типов: % -integer; & -long; @ -currency; # -double; ! – Single; $ – String

При объявлении переменной массива необходимо использовать скобки. Подстрочные знаки в этом случае не обязательны. Указанный ниже оператор определяет размеры динамического массива myArray .

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Обратная связь

Были ли сведения на этой странице полезными?

Источник

Оцените статью