数组
1.数组初始化
数组初始化就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程
方法1(动态方法)
datatype [] arrayname = new datatype[arrysize];
arryname [0] =0;
arryna me [1]= 1;
方法2(静态方法)
double [] arrayname = {0,1,2,3};//简化格式
double [] arry= new double[]{0,1,2,3}//完整格式
2.引用传递分析
数组中存储的是地址值
int[] data = new int[] {10,20,30};
int[] temp= data;//引用传递
temp[0]=99;
for(int x=0;x<data.length;x++){
System.out.println(data[x]);
}
//则打印的结果应为:
99,20,30
3.for each 迭代输出
可以自动将数组中的每一个元素的内容取出来保存在变量里面,避免以下表的方式来输出
public class Array{
public static void main(String[] args){
int data[]=new int[]{10,20,30};
for(int i : data){
System.out.println(i);
}
}
}
/**
输出的结果应该为 99,20,30
*/
4.数组作为函数的参数
public static void printArray(double[] array){
for(int i=0;i<array.length;i++){
System.out.println("array[i]:"+array[i]);
}
}
public static void main(String[] args){
printArray(new int[]{0,1,2,3,4});
}
//运行结果应为打印0,1,2,3
5.数组作为函数的返回值
public class Array {
//倒置数组
public static int[] reverse(int[] list) {
int[] result = new int[list.length];
//数组倒置算法
for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
result[j] = list[i];
}
//打印倒置后的数组
for(int k=0;k<result.length;k++) {
System.out.println(result[k]);
}
return result;//返回数组值
}
//主方法
public static void main(String[] args) {
reverse(new int[] {0,3,2,5,8});
}
}