你没见过的Java入门,使用中文例程的教程之九数据排排站数组
第四讲里,已经用过了参数这个字符串数组。下面我们用数组给人排队:
人是单个的人,多加一对方括号人〔〕就成了一队人(再加一对〔〕呢?)。一队是个长度为4的数组。它的length属性就是它的长度。在它初始化时,长度就已经确定了,而且之后不能修改。之前我们用过参数〔0〕获得参数数组的第一个值。同样在这里可以用从0到(一队。length1)的变量序号来获取数组里的每个值。
注意:数组的序号是从0开始的,这是比Java年纪还大的一个老传统,再配合一下吧。
数组还有另一种初始化方法:人〔〕二队new人〔10〕;二队〔0〕new人(阿狗,11);二队〔1〕new人(阿猫,10);2空着二队〔3〕new人(阿猪,9);
很直白,一开始是初始化一个长度是10的数组,之后就是往数组中的指定位置放个体。
如果对二队按照一队的方式来报数,会报错NullPointerException,因为位置2还空着。这时需要加个不为空的判断条件:for(int序号0;序号二队。length;序号){if(二队〔序号〕!null){二队〔序号〕。自我介绍();}}
排了队,下面就试试按照某个属性排序。比如要按年龄对一队排序。大略的思路可能是:比较相邻的两人年纪,谁小就排在前面。下面是Java对应这种思路的一种程序:java。util。Arrays。sort(一队,newjava。util。Comparator人(){Overridepublicintcompare(人甲,人乙){return甲。年龄乙。年龄;}});
Arrays和Comparator都是java。util包里的类。如果嫌这样不美观可以在程序前import这两个类。
如果想要排个方阵呢?只要再加一对〔〕就可以了:人〔〕〔〕方阵new方阵〔10〕〔15〕;方阵〔0〕〔0〕new人(阿狗,3);方阵〔2〕〔4〕new人(阿猫,4);
还有5节,稍安勿躁。