for循环不加{}来包裹相关内容的话, 他只会认for循环的下一句语句是循环内的,但for循环的下二句语句就不认在循环内。
for(i=0;i
System.out.println(score[i]);
等同于
for(i=0;i
score[i]=i;
}
System.out.println(score[i]);
由于以System.out.println(score[i]);里的i在循环外 所以你循环做完以后i的值已经超过了数组的下标,所以在System.out.println(score[i]);的时候出现了下标越界。
你这个错是因为你的文件名字叫Demo19.java但是你写的public class demo19{}大小写弄错了
补充一点,for循环后面不加{}是没有问题的.
System.out.println(score[i]);会报ArrayIndexOutOfBoundsException:3意思是超过了3这个下标.
重新在另外一个循环里面遍历数组就可以了.
for(int j:score)
System.out.println(score[j]);
length是数组的属性。错误不在这,而在System.out.println(score[i]); 这个时候的i超出下标了。
public class Demo19{
public static void main(String args[]){
int score[]=new int[3];
int i=0;
for(i=0;i
for(i=0;i
}
}
这样对齐好看一些。
javac Demo*.java
java Demo19
for(i=0;i
System.out.println(score[i]);
} //这里
加一对大括号就好了。
不过你的错误提示完全是另外一个问题:
Exception in thread "main" java.lang.NoClassDefFoundError: Demo19 (wrong name: d
emo19)
原因应该是这个Demo19类对应的java文件名字应该是Demo19.java 你看看是不是大小写不对。
这个错误和这里的for循环什么的没有关系。
不加括号的情况下 只能是括号里只有一行内容
超出的就要加{}了