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

How many variables can I initialize in the initialization of a for statement?

提问人:Aaron 提问时间:7/26/2012 最后编辑:Daniel DaranasAaron 更新时间:8/29/2013 访问量:1109

问:

一个简单的 for 语句是:

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

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

Java for 循环 初始化

评论


答:

6赞 user166390 7/26/2012 #1

你想写多少就写多少,但声明仅限于同一类型。(对于初始化,请参阅下面的扩展和 Wugs 答案。

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

(可选)ForInit 部分可以是:

  1. 如果 ForInit 代码是语句表达式列表 (§14.8),则从左到右依次计算表达式;它们的值(如果有)将被丢弃。

  2. 如果 ForInit 代码是局部变量声明,则执行该代码时,就像它是出现在块中的局部变量声明语句 (§14.4) 一样。

  3. 如果 ForInit 部件不存在,则不执行任何操作。

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

3赞 Wug 7/26/2012 #2

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

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

string s;
double d;

for (s = "", d = 1.5; ; );
1赞 Alex Fischer 7/26/2012 #3

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

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

它们必须是同一类型。