java书写规范问题,for、while、do while{}后面不能直接定义变量或生成对象(在没有大括号的情况下)

public class createTest {

public static void main(String[] args) {
// TODO Auto-generated method stub
//
//   for(int i=0;i<100;i++)
// create c = new create();
// 这样写是不对的,编译是不会通过的,
// 因为:JAVA语言规范规定不允许一个本地变量声明语句作为一条语句在for 、while 、do while 循环中重复执行
// 一个本地变量声明作为一条语句只能直接出现在一个语句块中(一个语句块是由一对花括号以及包含在这对花括号以及包含在这对花括号中的语句和声明构成的,)
//  
//
// 下面的这种也是错误的。
//
// for(int i=0;i<44;i++)
// int a =3;
//
// 第一中解决办法,加语句块的括号解决
for(int i=0;i<100;i++)
{
create c = new create();
}
//第二种解决办法,不写本地变量名。
for(int i=0;i<100;i++)
new create();
System.out.println(create.getnum());
}
}
class create
{
public static long num = 0;
public create()
{
num++;
}
public static long getnum()
{
return num;
}
}

你可能感兴趣的:(java,c,String,Class,语言)