java数组

1.java数组(先声明再分配内存):
在栈内存中保留数组名,用来保存指向数组实体的地址的名称,在堆内存中保留所需内存,之后内存空间参考地址赋给array

int array[]=null;
//int[] array = null;
//null是引用型数据类型的默认值
array=new int[10];
int score[]=new int[10]

2.获取数组长度

int l = score.length;

3.数组静态初始化

int score[]={91,92,93,94,95,96};

4.二维数组

int score[][];
score = new int[3][4];
//int score[][]=new int[3][4];

静态初始化的数组可以长度不一致

int score[][] = {{2,3}{3,4,5}};

5.数组的引用传递
方法可用来传递和返回数组,由于数组属于引用类型,若对数组进行任何修改将会保留下来。

public class TestJava {
    public static void main(String[] args) {
        int temp[] = {1,3,5};
        fun(temp);
        for(int i = 0; i < temp.length; i++) {
            System.out.println(temp[i]+",");
        }
    }
    public static void fun(int x[]) {
        x[0] = 6;
    }
}

实际上是x指向temp对应的堆内存,方法完成后x失效,但修改内容保留下来

public class TestJava {
    public static void main(String[] args) {
        int temp[] = fun();
        print(temp);
    }
    public static void print(int x[]) {
        for(int i = 0; i < x.length; i++) {
            System.out.print(x[i]+",");
        }
    }
    public static int[] fun() {
        int ss[] = {1,3,5,7,9};
        return ss;
    }
}

冒泡排序

public class TestJava {
    public static void main(String[] args) {
        int temp[] = {3,2,1,8,9,5,4,3};
        sort(temp);
        print(temp);
    }
    public static void print(int x[]) {
        for(int i = 0; i < x.length; i++) {
            System.out.print(x[i]+",");
        }
    }
    public static void sort(int x[]) {
        for(int i = 0; i < x.length; i++) {
            for(int j = 0; j < x.length-1; j++) {
                if(x[j]>x[j+1]) {
                    int temp = x[j+1];
                    x[j+1] = x[j];
                    x[j] = temp;
                }
            }
        }
    }
}

可用类库java.util.Arrays.sott(temp)进行排序,可排序浮点型字符型
System.arraycopy(i1,3,i2,1,3)可进行局部复制,将i1复制到i2。
类库可在java doc文档中找到
6.Java新特性对数组的支持
可变参数

public static void fun(int...x)

其中参数个数可变,以数组形式保存

public class TestJava {
    public static void main(String[] args) {
        fun();
        fun(1);
        fun(1,2,3);
    }

    public static void fun(int...x) {
        System.out.println("");
        for(int i = 0; i < x.length; i++) {
            System.out.print(x[i]+",");
        }
    }
    
}

foreach输出:方便数组输出

for(int x : arg){
}
public class TestJava {
    public static void main(String[] args) {
        fun();
        fun(1);
        fun(1,2,3);
    }

    public static void fun(int...x) {
        System.out.println("");
        for(int x1 : x) {
            System.out.print(x1+",");
        }
    }
    
}

你可能感兴趣的:(java数组)