ПОНЯТНО О Visual Basic NET


Оператор присваивания меняет значения переменных величин


Пока я не рассматривал программы, в которых переменные меняют свою величину. Теперь настало время такую программу рассмотреть:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim k As Integer

        k = 10

        Debug.WriteLine(k)

        k = 25

        Debug.WriteLine(k)

        k = 4

        Debug.WriteLine(k)

End Sub

В процессе работы программы содержимое ячейки k меняется.  Так, при выполнении оператора k=25 там вместо значения 10 появляется 25. А куда же девается десятка? Она стирается, то есть компьютер забывает ее безвозвратно. Здесь действует общий принцип работы всех компьютеров:

Если в какую-нибудь ячейку или вообще в какое-нибудь место памяти или диска записывается новая информация, то старая информация, записанная там раньше, автоматически стирается, даже если она кому-то и нужна.

Раз теперь вместо 10 в ячейке k находится 25, то оператор Debug.WriteLine(k) печатает уже 25. (Слово «печатает» устарело, оно осталось от тех времен, когда мониторов еще не было, а вместо них были принтеры. Когда я по старинке говорю, что информация печатается, я подразумеваю, что она появляется на мониторе в том или ином окне.) Следующий оператор k=4   запишет на место 25 четверку, а  Debug.WriteLine(k) ее напечатает. Проверьте.

Запишем схематически процесс изменения информации в ячейке k:

ПОРЯДОК  ИСПОЛНЕНИЯ ОПЕРАТОРОВ

ЧТО НАХОДИТСЯ В ЯЧЕЙКЕ ПАМЯТИ   k

ЧТО ВИДИМ

В ОКНЕ Output

k=10      

10

Debug.WriteLine(k)

10

10

k=25      

25

Debug.WriteLine(k)

25

25

k=4

4

Debug.WriteLine(k)

4

4

А что напечатает следующая программа?

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Dim f As Integer

        f = 30

        Debug.WriteLine(f)

        f = f + 4

        Debug.WriteLine(f)

End Sub

Оператор   f=30  запишет в ячейку f число 30.  Затем оператор  Debug.WriteLine(f)   напечатает 34. А что сделает странный оператор f=f+4 ?  Не думайте, что это уравнение или что-нибудь в этом роде. Это оператор присваивания, а значит и выполнится он согласно определению оператора присваивания. Сначала VB вычислит правую часть  f+4 , подставив туда вместо f его значение, взятое из ячейки, и получит 34. Затем число 34 будет записано в ячейку, отведенную под переменную, обозначенную в левой части, то есть опять же в ячейку f. При этом старое значение 30 будет стерто. Оператор  Debug.WriteLine(f)   напечатает 34.




Начало  Назад  Вперед