你好,我只是想知道'if'語句是否可以被認爲是一個迭代。因爲迭代被使用,直到符合某個標準才允許代碼繼續。是如果語句被認爲是迭代
回答
迭代是一個循環(一次通過)循環。 If
塊不是循環。
For
塊或While
塊循環,並執行的那些塊—有什麼For
塊內的一個或While
塊—的內容之一週期是循環的一次迭代。如果For
塊或While
塊的整體是條件If
塊,則If
塊可以是一次迭代...但不是因爲它是If
塊,而是因爲它是循環內部的內容。
不,迭代是一些代碼的重複。一旦不算作重複,否則所有代碼都將被視爲迭代。
If
聲明本身不能被認爲是iteration
。您可以根據需要運行包含if語句的代碼塊多次,但這不會使if語句成爲迭代器本身。這是什麼叫代碼塊哪個可能代表迭代。
If
語句一些相似之處與其他條件語句:
- 選擇案例
- 嘗試捕捉
明確迭代器的優勢如下:
- FOR/NEXT - 對於每一個/下一個
- DO /循環
- 雖然/結束雖然
但是,你有一些邏輯可能把if語句的使用作爲觸發,以恢復或停止條件的循環,而不使用For或While等直接循環語句。但是這並不意味着if語句迭代器本身,因爲迭代是if語句和編程語言允許的特定邏輯的組合。
遞歸:
Private Function ResumeIncrement(ByRef Number As Int32) As Boolean Number = Number + 1 If Number < 10 Then Return ResumeIncrement(Number) Else Return False End If End Function
GoTo語句:
Private Sub TestGoTo() Dim Number As Int32 = 0 IncrementMore: Number = Number + 1 If Number < 10 Then GoTo IncrementMore End If End Sub
而作爲stated by Joel Coehoorn above時,如果塊可以包含任何東西,包括爲觸發迭代器塊,雖然還是做。如果你刪除了包含的塊,那麼它不會改變if部分應該做的事情:有條件檢查!
您也可以做相反的事情,並使用If塊來控制迭代的行爲方式。像:
If SomeCondition Then
Exit For
' Or Exit While, etc. ie, using the 'Exit' statement
End If
或
i = 0
Do
i = i + 1
' ^^ capture i in Debug or Console
' Control the value of i...
If i Mod 2 = 0 Then
i = i - 2
Else
i = i * 3
End If
Loop While i < 30
' i = 1, 4, 3, 10, 9, 28, 27, [Exit Do with i = 81]
在上面的兩個例子,如果語句要麼是有突破的迭代,或再試一次,這麼說,到「控制迭代」,但決不代表它自己代表迭代器。
這裏也是另一個答案,清除一個不確定性。你問
是否如果語句被認爲是一個迭代?
然後你說
你好,我只是想知道一個「如果」語句是否可以被認爲 作爲迭代(你「if語句」複數製造)。因爲使用迭代直到某個 條件符合允許代碼繼續。
(那麼你做它的奇異.. ???)這「......迭代使用,直到......」自應單獨回答你的問題,假設你迭代代碼塊(這是它在這裏被理解的方式)
但是,如果直到一個符合您的要求,你是在談論迭代一些可能值 ..?
If MyValue = "" Then
' ...
ElseIf MyValue.StartsWith("A") Then
' ...
ElseIf MyValue.ToUpper = "TEST" Then
' ...
Else
' ...
End If
是類似於:
Select Case True
Case MyValue = "":
' ...
Case MyValue.StartsWith("A")
' blah blah blah
End Select
或
If MyValue = "" Then GoTo EmptyString
If MyValue.StartsWith("A") Then GoTo StartsWithA
If MyValue.ToUpper() = "TEST" Then GoTo IsTEST Else GoTo DoNothing
EmptyString:
' ...
GoTo DoNothing
StartsWithA:
' ...
GoTo DoNothing
IsTEST:
' ...
GoTo DoNothing
DoNothing:
' Resume...
等等
這不是一個迭代!這就是那些爲了處理評價的列表。當條件評估爲True時,將執行相關的代碼。與迭代不同,這只是選擇正確的路徑和恢復的問題,而不是幾次走相同的路徑(循環)
是的,您正在遍歷可能值(條件狀態)的集合但不,你沒有迭代If
聲明。你只是檢查結果每個單如果測試一次。
- 1. 迭代如果語句
- 2. 什麼被認爲是C++語句?
- 3. 我在做這個遞歸還是會被認爲是迭代?
- 4. 如果語句僅迭代第一行
- 5. 我的Python其他:語句被認爲是無效的語法
- 6. python迭代語句後迭代變量是否存在?
- 7. Android_Eclipse代碼不承認,如果語句
- 8. 如果在JavaScript語句總是爲真
- 9. foreach語句是按順序迭代還是隨機順序?
- 10. 「ELIF」被認爲是無效的語法
- 11. 如果`foreach-when`語句中最後一個'when`語句爲false時,總是執行默認語句
- 12. 如果語句被忽略
- 13. 如果語句被跳過
- 14. 如果語句被忽略
- 15. switch語句/迭代中JSTL
- 16. 多條語句如果條件爲真如果是
- 17. javascript只是承認我的,如果語句
- 18. 如果語句爲
- 19. 如果語句正確時如何停止迭代?
- 20. 爲什麼對象被認爲不可迭代,雖然他們實際上是?
- 21. 如果語句不檢查每個值是否被選中
- 22. Python 2.7,如果語句被忽略,而不是設置/更改
- 23. 是否有像「迭代迭代,如果它有元素,否則...」?
- 24. 迭代語句後的語句終止符(;)運算符:結束迭代語句本身,還是不可見的空語句?
- 25. 替代,如果else語句
- 26. 如果語句代碼
- 27. 鏈接LINQ語句是否會導致多次迭代?
- 28. 熊貓如果語句迭代遍歷行
- 29. 迭代鏈表,如果語句不工作
- 30. Visual Studio如果語句總是經過
的'If'語句是一個條件語句。迭代語句*像'For'和'While'一樣迭代*。 – 2014-11-21 20:44:42