我在某处看到了以下语法:
int i = index;
for (; i < anArray.length();)
它类似于while循环吗?
while(i < anArray.length()) {
// some stuff }.
由于
答案 0 :(得分:1)
如果你看java documentation:
for (initialization; termination;increment) {
statement(s)
}
写for (; i < anArray.length();)
意味着你没有初始化和增加任何东西。如果i < anArray.length()
,你只会转出for循环。所以,是的,它是相同的,但我怀疑在这种情况下for循环的效用。
来自same doc page的更多信息:
注意代码如何在初始化中声明变量 表达。该变量的范围从其声明扩展到 块的结尾由for语句控制,因此可以使用它 在终止和增量表达式中也是如此。如果变量 在循环之外不需要控制for语句,它就是 最好在初始化表达式中声明变量。该 名称i,j和k通常用于控制循环;宣布他们 在初始化表达式中限制了它们的寿命和 减少错误。
for循环的三个表达式是可选的;无限循环 可以按如下方式创建:
// infinite loop
for ( ; ; ) {
// your code goes here
}
答案 1 :(得分: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
答案 2 :(得分:0)
是。它们很相似。他们都做同样的事情。