2016-05-17 18 views
-1

循環語法我看到某處的語法如下:具體在Java

int i = index; 
for (; i < anArray.length();) 

是類似於while循環?

while(i < anArray.length()) { 
// some stuff }. 

感謝

+1

部分它是相似的,但請注意,'我'不會在那裏改變,所以有一個無限循環的風險。 – 2016-05-17 09:15:08

+0

不是真的重複,但看看在這個問題上接受的答案:http://stackoverflow.com/questions/7081339/what-does-for-mean-in-java –

回答

1

如果你看一下java documentation

for (initialization; termination;increment) { 
    statement(s) 
} 

for (; i < anArray.length();)意味着你不initalize和增加任何東西。只有i < anArray.length()纔會出現for循環。所以是的,它是相同的,但我懷疑在這種情況下for循環的效用。從same doc page

的更多信息:

注意代碼如何聲明瞭初始化 表達式中的變量。該變量的範圍從其聲明擴展到 由for語句控制的塊的末尾,所以它在終止和增量表達式中也可以使用 。如果在循環之外不需要控制for語句的變量 ,則最好在初始化表達式中聲明該變量。名稱i,j和k通常用於控制循環;在初始化表達式中聲明它們 限制了它們的使用壽命,並且減少了錯誤。

for循環的三個表達式是可選的;一個無限循環 可以如下創建:

// infinite loop 
for (; ;) { 

    // your code goes here 
} 
1

for循環主要是用來通過容器(一個迭代器或諸如此類的東西)來迭代所以,如果你有對象的容器,你希望管理對他們來說,一個for循環是一個好方法。

的while循環但是主要用於以重複的代碼塊,直到條件爲真:

boolean succesful = false; 
while(!succesful) // runs until condition is false 
{ 
if(connectionToInternetIsSuccesful) 
    succesful = true; 
} 

所以同時(雙關語意)的條件(在這種情況下,「成功的」布爾值)是假它重複循環 我推薦閱讀:http://www.tutorialspoint.com/java/java_loop_control.htm

0

是的。他們是相似的。他們都做同樣的事情。