我可以在for语句的初始化中初始化多少个变量?

时间:2012-07-25 19:40:24

标签: java for-loop initialization

一个简单的陈述是:

 for(int i = 0/*A Optional*/; i < 10/*B Optional*/; i++/*C Optional*/) {
 }

现在可以在for语句的初始化代码(A)中初始化多少个变量? 另外,我如何在for语句的初始化代码(A)中初始化这些变量?

3 个答案:

答案 0 :(得分:6)

尽可能多地编写,但声明仅限于同一类型。 (仅适用于初始化,请参阅下面的扩展和Wugs的回答。)

for (int a = 1, b = 2, c = 3 ; ; ) {
    break;
}

(可选)ForInit部分可以是:

  
      
  1. 如果ForInit代码是语句表达式列表(§14.8),则表达式按从左到右的顺序进行计算;如果有的话,他们的价值就会被丢弃。

  2.   
  3. 如果ForInit代码是局部变量声明,则执行它就好像它是一个块中出现的局部变量声明语句(第14.4节)。

  4.   
  5. 如果ForInit部分不存在,则不采取任何措施。

  6.   

上面带有声明的示例代码的格式为for(LocalVariableDeclaration;;)

答案 1 :(得分:3)

您可以根据需要初始化任何类型,但是如果使用内联声明,则所有声明的变量必须与pst类型相同。

for (int i = 1, j = 0, k = -1; ; );

string s;
double d;

for (s = "", d = 1.5; ; );

答案 2 :(得分:1)

您可以使用逗号分隔for循环中的语句,这样您就可以根据需要初始化任意数量的变量。如果你想初始化几个变量,你的for循环将如下所示:

 for(int i = 0, x = 1, d = 2; i < 10; i++, x++) {
 }

它们必须属于同一类型。