第四章:数组与方法
1、一维数组
为何数组为引用类型?
int score[] = null;申明整型数组score,编译器仅会在栈内存中分配一块内存空间给它,用来保存指向数组实体的地址名称。
score = new int[3];在堆内存中开辟3个可供保存整数的内存空间,并把堆内存的操作地址赋给数组名称score。
就是因为数组变量score保存的不是数组实体,而是数组堆内存 的参考地址,所以为引用类型,类似c的指针。
2、方法
重载:方法名称相同,但参数的类型和参数的个数不同(定义有点忘了)。
System.out.println也属于重载,因为可以输出各种类型的数据。
注意点:方法的返回值类型不同并不是重载,重载只和参数有关(个数和类型)!
用return可以结束方法
3、数组排序
可以自己写方法,可以用类库java.util.Arrays.sort(score)进行排序;
4、数组复制
System.arraycopy(原数组,原数组开始点,目标数组,目标数组开始点,复制长度)
5、可变参数
这个说实话接触少,这里多Mark一下
返回值类型 方法名称 (类型...参数名称){}
例:public static void fun(int...arg){}
也可以向其中传数组
int tmp[1,3,5];
fun(tmp);
或者fun(new int[]{1,3,5});
6、foreach
for(数据类型 变量名称:数组名称){}
例:for(int x :arg){
System.out.println(x);
}
让我想起了迭代器iterator
Iterator it = list.iterator();
while(it.hasNext()){
//using “it.next();”do some businesss logic
}