Java中
for
语句的初始化中是否可以声明两个不同类型的变量?
for (char letter = 'a', int num = 1; maxLine - num > 0; letter++, num++) {
System.out.print(letter);
}
来自 C/C#,我尝试按照上面的方式执行此操作,但编译器表示它需要在
letter
变量声明之后有一个分号标识符。
因为
for
循环中的变量声明遵循局部变量声明。
类似于以下内容作为本地声明无效,因为它包含多种类型:
char letter = 'a', int num = 1;
它在 for 循环中也无效。但是,您可以定义同一类型的多个变量:
for (int n = 0, m = 5; n*m < 400; n++) {}
至于设计师为什么这么做,你看到就问他们吧。
这在 C/C++ 中也不起作用,但不确定 C# 是否适用。
for 语句的第一部分可能有多个变量,但类型相同。原因是一般不能这么写:
int n = 0, char c = 5;
如果您想这样做,您需要两个声明。同样,
for
的第一部分只接受一个语句,所以你不能在这里放两个。