пятница, 20 августа 2010 г.

Условные операторы


Я уже довольно давно хочу приступить к программированию моего приложения на VB.NET, но надо освоить много подготовительного материала. Сегодня я продолжу свое обучение Visual Basic.NET, но – это еще не финал. В следующих статьях обязательно надо будет рассмотреть объектно-ориентированное программирование. Так что готовьтесь =)
А сегодня будет довольно легкое обучение – надо будет ознакомиться с основными конструкциями Visual Basic (а точнее – условные опретаоры). То есть – мы изучим все циклы, которые есть в этом языке, управление этими циклами, а также – ветвления. У меня уже была попытка осветить подобные конструкции (но для C#) мне она не понравилась. Надо будет лучше сделать.
Так, нам предстоит познакомиться с оператором условия IF, оператор выбора SELECTCASE. Затем – будут несколько различных циклов. И на последок – два оператора управления циклами (если они есть в языке Visual Basic). Предлагаю обучение Visual Basic начать с условных операторов: IF и SELECTCASE. Это будет в сегодняшней статье. А описание остальных конструкций – в следующих.
Итак – приступим к обучению. Начнем с самого простого (как мне кажется) – с оператора условия IF. Есть две версии этого условия – без использования ключевого слова ElseIf и с использованием этого слова.
Начнем с простого – без ElseIf. Оператор условия выбирает из двух вариантов – либо одно, либо другое. Так что, в простейшем виде – можно его обозначить так:
        If Условие Then
            Дейстие1
        Else
            Действие2
        End If

Условие должно иметь логический тип (или должно конвертироваться в него). Сначала проверяется это Условие затем (если оно верно, равно True) выполнится Действие1, а Действие2 никогда не выполнится. В любых других случаях (то есть – когда Условие принимает значение False) будет выполнено Действи2.
Надо сказать, что в языке Visual Basic все конструкции должно завершаться ключевым слово завершения. Так что совет – Visual Studio вам будет сама помогать: когда вы набрали первую строчку (If Условие Then) нажмите Enter – и VS сразу же допишет в следующей строчке закрывающее словосочетание End If. Также пользуйтесь всплывающими подсказками Студии.
Кстати, показывать результаты работы условия и циклов я буду с помощью визуального WinForms-приложения, не через командную строку. Почему-то очень популярно все демонстрировать через нее (во всех книгах по программированию). Но – мне больше нравятся окна, так что буду делать именно так. Поэтому – вам надо расположить на форме TextBox и Button. Имена оставьте по умолчанию.
Приведу небольшой пример для обучения:
        Dim number As Integer
 number = Convert.ToInt32(TextBox1.Text)

        If number >= 10 Then
            MsgBox("Число больше или равно десяти.")
        Else
            MsgBox("Число меньше десяти")
        End If

Результат это программы очевиден, так что приводить скрины не буду.
Теперь изучим более сложную форму этого условного оператора – с использованием ключевого слова ElseIf. Хотя я даже и не знаю, где ее можно использовать. Но познакомиться все-равно необходимо. Кратко можно описать так:
        If Условие1 Then
            Дейстие1
        ElseIf Условие2 Then
            Действие2
        Else
            Действие3
        End If

Опять же – в первую очередь проверяется Условие. Если оно True – то выполняется Действие1. Если Условие = False – то управление переходит к Условию 2. Если оно True – будет выполнено Действие2. И, если уж все Условия оказались неверны (все они False) – будет выполнено Действие3 – оно у нас объявлено завершающим, после слова Else.
И приведу пример этого условия:
        Dim number As Integer
        number = Convert.ToInt32(TextBox1.Text)
        If number < 10 Then
            MsgBox("Число меньше десяти")
        ElseIf number = 10 Then
            MsgBox("Число равно десяти")
        Else
            MsgBox("Число больше десяти")
        End If

Смысл всей этой программы – проверяем введенное число: если оно меньше десяти – выводим об этом сообщение. Если оно равно десяти – также сигнализируем. И, если оно не меньше десяти и не равно 10 – то также пишем это. Вот и все.
А теперь перейдем к следующему условному оператору – оператору выбора SELECTCASE. Можно сказать – он объединяет в себе несколько операторов IF. То есть – он выбирает какое-то определенное действие из списка. Описать его можно так:
        Select Case ОбязательноеВыражение
            Case Условие1
                Действие1
            Case Условие2
                Действие2
            Case Условие3
                Действие3
            Case Else
                ДействиеПоУмолчанию
        End Select

Тут ОбязательноеВыражение должно быть простого типа (Boolean, Integer, String и тд). Затем идет список возможных значений (Условие1, Условие2 и тд). Если ОбязательноеВыражение удовлетворяет какому-нибудь условию – будет выполнено Действие, соответствующее этому условию. А если такого условия не нашлось – то выполнится ДействиеПоУмолчанию.
И приведу просто пример, демонстрирующий работу оператора выбора:
        Dim number As Integer
        number = Convert.ToInt32(TextBox1.Text)

        Select Case number
            Case 1 To 5
                MsgBox("От одного до пяти")
            Case 6, 7, 8
                MsgBox("Либо шесть, либо семь, либо восемь")
            Case 9 To 10
                MsgBox("От девяти до десяти")
            Case Else
                MsgBox("Больше десяти")
        End Select

Как вы могли заметить – после слов Case (в Условиях) можно указывать числовые промежутки (1 To 5), либо перечислять числа напрямую – много возможностей есть. Кстати, на счет этого оператора. Аналог его в языке C# называется SWITCH. Я сначала долго пытался применить этот свитч в языке Visual Basic – но не смог. Зато потом порылся в msdn – и все нашел. Так что используйте этот источник полезной информации. И будьте внимательными.

5 комментариев:

  1. Здравствуйте, мне интересует методы работы условных операторов в VB. Если можете пришлите мне материал. За ранее спасибо!

    ОтветитьУдалить
  2. Здравствуйте, Аноним. Я могу ответить на Ваш вопрос, но - данных контактных то вы не оставили, как я вам пришлю материал?

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

    ОтветитьУдалить
    Ответы
    1. Условный оператор if-then идет только по одному пути из двух (либо так либо не так), оператор выбора может пойти по самым разным путям (хоть два их будет, хоть десять, вы сами их прописываете).

      Удалить