Переменные и операторы Visual Basic .NET
Использование расширенных операторов: \, Mod, ^ и &
В дополнение к четырем базовым математическим операторам, Visual Basic содержит четыре дополнительных оператора, которые выполняют целочисленное деление (\), остаток от деления ( Mod ), возведение в степень (^) и слияние (конкатенацию) строк (&). Эти операторы применяются в специальных математических формулах и приложениях, обрабатывающих строки. Следующая утилита (небольшая модификация программы Basic Math) показывает, как можно использовать в программе каждый из этих операторов.
Новые сокращенные операторы
Одна из новых функций Visual Basic .NET позволяет использовать в математических и строковых операциях, выполняющих изменение значения существующей переменной, сокращенные операторы. Например, если вы объединяете символ + и символ =, то вы можете прибавить к переменной какое-либо значение без необходимости повторять ее имя в формуле дважды. Таким образом, можно записать формулу X = X + 6 в виде X += 6. В следующей таблице показаны примеры таких сокращенных операторов:
Операция | Длинная запись | Короткая запись |
---|---|---|
Сложение (+) | X = X + 6 | X += 6 |
Вычитание (-) | X = X - 6 | X -= 6 |
Умножение (*) | X = X * 6 | X *= 6 |
Деление (/) | X = X / 6 | X /= 6 |
Целочисленное деление (\) | X = X \ 6 | X \= 6 |
Возведение в степень (^) | X = X ^ 6 | X ^= 6 |
Конкатенация строк (&) | X = X & "ABC" | X &= "ABC" |
Работа с расширенными операторами
- В меню File (Файл) выберите Open (Открыть), а затем Project (Проект). Появится диалоговое окно Open Project (Открыть Проект).
- Откройте проект Advanced Math, расположенный в папке c:\vbnet03sbs\Гл.5\advanced math.
- Если форма проекта не открывается, щелкните в Solution Explorer (Обозревателе решений) на Form1.vb, а затем щелкните на кнопке View Designer (Просмотреть конструктор). В Windows Forms Designer (Конструкторе Windows Forms) откроется форма Advanced Math. Программа Advanced Math идентична программе Basic Math, за исключением операторов, показанных в переключателях и в программе.
- Щелкните на кнопке Start (Начать) стандартной панели инструментов. Эта программа отображает два текстовых поля, в которых вы вводите числовые значения, группу переключателя операторов, поле, которое отображает результаты и две кнопки.
- Введите в текстовом поле Переменная 1 число 9, а затем нажмите на (Tab).
- Введите в текстовом поле Переменная 2 число 2. Теперь вы можете применить к этим двум значениям любой из дополнительных операторов.
-
Щелкните на переключателе Целочисленное деление, а затем щелкните на кнопке Вычислить. К этим двум переменным применится оператор, и в поле Результат появится число 4, как показано здесь.
Целочисленное деление дает в результате операции деления только целое число. Хотя 9, деленное на 2, будет 4.5, операция целочисленного деления возвращает только первую - целую часть (целое число 4). Эта функция полезна, если вы работаете с чем-то, что не может быть легко разделено на дробные части, например, с количеством человек, которые помещаются в автомобиль.
- Щелкните на переключателе Остаток от деления, а затем на кнопке Вычислить. В поле Результат появится число 1. Остаток от деления (Арифметический модуль) возвращает остаток после того, как одно число будет разделено на другое. Так как 9, деленное на 2, равно 4 с остатком 1 ( 2 * 4 + 1 = 9 ), то результат, производимый оператором Mod, равен 1. Помимо всего прочего, оператор Mod может помочь вам в отслеживании "остатков" в ваших вычислениях, таких как величина изменения, получившаяся после проведения финансовых транзакций.
- Щелкните на переключателе Возведение в степень, а затем на кнопке Вычислить. В поле Результат появится число 81. Оператор возведения в степень (^) возводит число в указанную степень. Например, 9 ^ 2 равно 92, или 81. В Visual Basic формула 92 записывается как 9 ^ 2.
-
Щелкните на переключателе Конкатенация, а затем на кнопке Вычислить. В поле Результат появится число 92. Оператор конкатенации строк (&) объединяет две строки в одну, но не через операцию сложения. Результатом является комбинация символа "9" и символа "2". Конкатенация строк может выполняться с числовыми переменными - например, если вы отображаете счет бейсбольного матча так, как это делается в старых полях для отображения счета - но гораздо чаще конкатенация используется для строковых значений или переменных.
Так как я объявил переменные FirstNum и SecondNum имеющими тип Double, вы не можете объединять с помощью написанного здесь кода программы слова или буквы. Попробуйте, например, следующий тест, который приводит к возникновению ошибки и завершению программы.
-
Введите в текстовом поле Переменная 1 слово birth, в текстовом поле Переменная 2 введите слово day, убедитесь, что выбран переключатель Конкатенация, а затем щелкните на Вычислить. Visual Basic не сможет обработать введенные вами текстовые значения; программа остановится, а на экране появится показанное на рисунке сообщение об ошибке.
Этот тип ошибки называется ошибкой времени исполнения - ошибкой, которая проявляется не на стадии проектирования и компиляции программы, а позднее, когда программа выполняется и наталкивается на условия, которые она не знает, как обрабатывать. Если это непонятно, вы можете представить, что Visual Basic просто предлагает вам современную интерпретацию заявления роботов "Нет решения!" из научно-фантастических фильмов 50-х годов. Новое произносимое компьютером сообщение "Cast from string ("birth") to Double is not valid" ("Приведение строки ("birth") к типу Double является недопустимым") означает, что слова, которые вы ввели в текстовые поля (birth и day) не могут быть присвоены - или преобразованы - компилятором Visual Basic переменным типа Double. Типы Double могут содержать только числа. Точка.
-
Щелкните в диалоговом окне среды разработки Microsoft на кнопке Continue (Продолжить). Если появляется еще одно диалоговое окно среды разработки, которое указывает, что для текущего места программы нет исходного кода, щелкните на OK.
Ваша программа завершится и возвратит вас в среду разработки. Кнопка Break (Прервать), о которой пойдет речь в "Отладка программ на Visual Basic .NET" , позволяет использовать инструменты Visual Studio для отладки, чтобы узнать об имеющихся в вашем программном коде дефектах или ошибках.
Теперь, чтобы увидеть, как были объявлены переменные, и как использованы дополнительные операторы, посмотрите на код программы.
-
Прокрутите код в Редакторе кода к самому его началу. Вы увидите следующие комментарий и оператор программы:
' Объявляем переменные FirstNum и SecondNum Dim FirstNum, SecondNum As Double
Как вы можете вспомнить из предыдущего упражнения, FirstNum и SecondNum - это переменные, которые хранят числа, получаемые из объектов TextBox1 и TextBox2.
- Теперь смените тип данных с Double на String так, что вы сможете протестировать, как работает оператор конкатенации (&) строк.
-
Теперь прокрутите Редактор кода вниз, чтобы увидеть, как в коде программы использованы дополнительные операторы. Вы увидите следующий код:
' Присваиваем значения текстовых полей переменным FirstNum = TextBox1.Text SecondNum = TextBox2.Text ' Определяем выбранную кнопку и вычисляем If RadioButton1.Checked = True Then TextBox3.Text = FirstNum \ SecondNum End If If RadioButton2.Checked = True Then TextBox3.Text = FirstNum Mod SecondNum End If If RadioButton3.Checked = True Then TextBox3.Text = FirstNum ^ SecondNum End If If RadioButton4.Checked = True Then TextBox3.Text = FirstNum & SecondNum End If
Аналогично программе Basic Math, эта программа загружает данные из текстовых полей и помещает их в переменные FirstNum и SecondNum. Затем программа проверяет, какой переключатель выбрал пользователь, и вычисляет требуемую формулу. В этой процедуре события использованы операторы целочисленного деления (\), остатка от деления ( Mod ), возведения в степень (^) и конкатенации строк. Теперь, когда вы изменили тип данных переменных на String, снова запустите программу и посмотрите, как работает с текстом оператор &.
- Щелкните на кнопке Start (Начать).
-
Введите в текстовом поле Переменная 1 слово birth, в текстовом поле Переменная 2 введите слово day, щелкните на Конкатенация, а затем щелкните на Вычислить. Теперь программа объединит строковые значения и не выдаст ошибки времени выполнения, как показано ниже.
-
Чтобы закрыть программу, щелкните на кнопке Выход.
Совет. Избежать ошибок времени исполнения очень сложно - даже наиболее продвинутые приложения, такие как Microsoft Word или Microsoft Excel, иногда наталкиваются на ошибочные ситуации, с которыми они не могут справиться, что приводит к возникновению ошибок времени выполнения и программа рушится. В создании целостных и надежных приложений вам может помочь проектирование ваших программ так, чтобы они обрабатывали множество различных типов данных и условий работы. В "Перехват ошибок с помощью структурной обработки ошибок" вы узнаете о еще одном полезном инструменте для предотвращения обрушений из-за ошибок выполнения - структурном обработчике ошибок (structured error handler).