在Java中的条件中声明不同类型的变量[重复]

问题描述 投票:0回答:2

Java中

for
语句的初始化中是否可以声明两个不同类型的变量?

for (char letter = 'a', int num = 1; maxLine - num > 0; letter++, num++) {
    System.out.print(letter);
}

来自 C/C#,我尝试按照上面的方式执行此操作,但编译器表示它需要在

letter
变量声明之后有一个分号标识符。

java for-loop definition
2个回答
2
投票

因为

for
循环中的变量声明遵循局部变量声明

类似于以下内容作为本地声明无效,因为它包含多种类型:

char letter = 'a', int num = 1;

它在 for 循环中也无效。但是,您可以定义同一类型的多个变量:

for (int n = 0, m = 5; n*m < 400; n++) {}

至于设计师为什么这么做,你看到就问他们吧。


0
投票

这在 C/C++ 中也不起作用,但不确定 C# 是否适用。

for 语句的第一部分可能有多个变量,但类型相同。原因是一般不能这么写:

int n = 0, char c = 5;

如果您想这样做,您需要两个声明。同样,

for
的第一部分只接受一个语句,所以你不能在这里放两个。

© www.soinside.com 2019 - 2024. All rights reserved.