2017-05-19 2 views
-5

Code:Was passiert mit dieser Linie in der For-Schleife?

Dim answer As Integer 
Dim startNumber As Integer 

answer = 0 

For startNumber = 1 To 4 
    answer = answer + startNumber 
Next startNumber 

MessageBox.Show(answer) 

Kann jemand die Linie erklären, die answer = answer + startNumber sagt?

Ich verstehe nicht ist answer = answer? Warum nicht einfach Answer + Startnumber Ich habe bereits die Variable answer einen Wert von 0 gegeben. Ich verstehe, was es tut, es ist nur das bisschen Syntax, die ich nicht verstehen kann.

Antwort

1

Kann jemand die Zeile erklären, die answer = answer + startNumber sagt?

Die Linie answer = answer + startNumber wird die Zuweisung des Wertes answer zuzüglich startNumber zu answer zurück. Ein alternativer Weg wäre answer += startNumber.

Wenn Sie answer + startNumber getan haben, dann würden Sie den vorherigen Wert von answer nicht beibehalten. Stattdessen überschreiben Sie einfach mit startNumber auf jeder Schleife.

Betrachten Sie den folgenden Code ein:

For startNumber = 1 To 4 
    answer = startNumber 
    Debug.WriteLine("answer = " & answer.ToString()) 
Next startNumber 

Ausgang:

answer = 1 
answer = 2 
answer = 3 
answer = 4 

Beachten Sie, wie answer nicht behalten es vorherigen Wert. Stattdessen wird nur answer mit dem Wert startNumber gesetzt. Nun wollen wir versuchen, Ihren Code:

For startNumber = 1 To 4 
    answer = answer + startNumber 
    Debug.WriteLine("answer = " & answer.ToString()) 
Next startNumber 

Ausgang:

answer = 1 
answer = 3 
answer = 6 
answer = 10 

Beachten Sie, wie answer jetzt behält es Zahl vor startNumber ihm hinzufügen.

Da Sie neu sind, würde ich dringend empfehlen zu lernen, wie Sie Ihren Code debuggen und die Variablen analysieren.

1

Sie machen eine for-Schleife. answer ist was auch immer zugewiesen answer ist plus startNumber (Das wird 1 auf Schleife 1, Schleife 2 auf Schleife 2, etc ...). Lassen Sie uns die Schleifen brechen:

Loop 1 (0 ist derzeit der Antwort):

answer = 0 + 1 

Antwort ist jetzt 1

Loop 2:

answer = 1 + 2 

Antwort ist jetzt 3

Schleife 3:

answer = 3 + 3 

Antwort ist jetzt 6

Schleife 4:

answer = 4 + 6 

Antwort ist jetzt 10

0

Das ist nicht Teil der For Schleife per se. Das ist die Aktion, die bei jeder Iteration der Schleife ausgeführt wird. Der Punkt einer Schleife ist es, Ihnen zu ermöglichen, dasselbe mehrmals zu tun.

Das Ding kann alles sein und in diesem Beispiel haben sie das gerade als Dummy-Aktion gewählt. Es tut eigentlich nichts, was man normalerweise für nützlich hält. Es ist genau das, was Sie zu tun glauben, d. H. Es addiert den Wert answer zum Wert startNumber und speichert das Ergebnis in answer. Das bedeutet, dass der Wert answer bei 0 beginnt und dann durch aufeinanderfolgende Iterationen zu 1, 3, 6 und 10 wird.

Wenn Sie selbst eine For-Schleife schreiben würden, würden Sie etwas in die Schleife einfügen, das für Sie nützlich war. Wenn Sie beispielsweise die 10x-Tabellen ausgeben möchten, würden Sie 10 mit dem Schleifenzähler multiplizieren und das Ergebnis ausgeben.