Yoooshiki
声明数组有两种方式声明数组并分配空间,然后赋值,如://定义一个长度为5的int类型数组int[] a =new int[5];//给数组赋值a[0]=8;a[1]=10;...边声明数组边赋值,如://感觉第一种方法太麻烦,可以边声明边赋值int[] a={8,9,10}; //写法一,声明一个长度为3的int类型数组,分别是8、9、10;int[] a=new int[]{8,9,10}; //写法二//边声明变赋值这种方法不能直接指定数组的长度,但可以变相的定义长度String[] b={"a","b","c",null,null};注意null,null这里没有值,只是用来占个位置,使b数组的长度为5.所以,你的问题:int[ ] score = new int[ 4 ] { 90, 12, 34, 77 };为什么错了?就显而易见了,既然你使用了边声明数组边赋值的方法,就不能在[]内定义长度。