在forloop和print语句中声明变量时发生java错误
我试图学习for循环是如何工作的,所以我编写了这样一个代码
for(System.out.println("hi"),int i=0;i<5;System.out.println("yo"),i++)
{
System.out.println("teapot");
}
通过这种方式,我可以理解,for循环的哪一部分正在执行。但我在第一行有个错误,写着“.class expected”。也许这仅仅意味着,我不能在第一行声明变量。所以我修改了它,现在它工作得很好
int i;
for(System.out.println("hi"),i=0;i<5;System.out.println("yo"),i++)
{
System.out.println("teapot");
}
但我不明白为什么我不能在第一行声明变量
# 1 楼答案
abasic for loop的语法是:
换句话说,
for
的第一位可以包含statement expressions列表,也可以包含局部变量声明,但不能同时包含两者System.out.println("hi")
是一个语句表达式(因为它是一个方法调用表达式)李>int i=0
不是一个语句表达式(因为它不是一个表达式)李>i=0
是一个语句表达式,因为它是一个赋值李>