数组

数组

public static void main(String[] args) {
        //数组类型  变量类型名+[]
        int[] nums;//1.声明一个数组
        int nums2[];
        //上下两种写法都ok,最好用第一种

        nums=new int[10];//2.创建一个数组,nums中可以有10个值

        //将1 2合起来
        int[] nums3=new int[10];

        //赋值
        //数组索引从0开始
        nums[0]=1;
        nums[1]=2;
        nums[2]=3;
        nums[3]=4;
        nums[4]=5;
        nums[5]=6;
        nums[6]=7;
        nums[7]=8;
        nums[8]=9;
        nums[9]=10;


        //求和
        int sum=0;

        //获取数组长度  arrays.length

        for (int i = 0; i < nums.length; i++) {
            sum=sum+nums[i];
        }
        System.out.println(sum);
    }
}

若定义字母或汉字要用''

char arr1[]=new char[]{'q','w','中','国','棒'};
  1. 长度是确定的
  2. 里面必须是相同元素
  3. 元素可以是任何数据类型,包括基本类型和引用类型

二维数组

创建
//第一种
int[][] a;//类型[][] 名字
int b[][];//类型 名字[][]
a=new int[2][4];//a中包含了两个长度为4的一维数组
//第一维的长度为行数,第二维的长度为列数
//分配如下
a[0][0]=1;
a[0][1]=1;
a[0][2]=1;
a[0][3]=1;

a[1][0]=2;
a[1][1]=2;
a[1][2]=2;
a[1][3]=2;
//第二种
int[][] a;
a=new int[2][];
a[0]=new int[2];//长度为2
a[1]=new int[3];//长度为3

a[0][0]=1;
a[0][1]=1;

a[1][0]=2;
a[1][1]=2;
a[1][2]=2;
初始化
int a[][]={{1,2},{8,556}};

静态和动态初始化

静态初始化:指由程序员自己为数组的每个元素赋值,由系统为其计算长度
动态初始化:由程序员为数组制定长度,系统先自动为其赋值,之后也可人为修改,重新赋值

//静态初始化
int[] a={1,2,3,4,5,6};

//动态初始化 包含默认值0
int[] b=new int[10];
b[0]=10;

数组边界

下标合法区间:[0,length-1],若越界会报错

ArrayIndexOutOfBoundsException:数组下标越界异常

遍历数组

for循环

//遍历一维数组
 int[] a={1,5,8,52,25};
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }
//遍历二维数组
int a[][]={{1},{2,3},{4,5,6}};
for (int i = 0; i < a.length; i++) {
    for (int j = 0; j < a[i].length; j++) {
        System.out.print(a[i][j]);
    }
    System.out.println();
}

foreach循环

int[] arrays={1,2,3,4,5};
//没有下标
for (int array:arrays) {
    System.out.println(array);
}

数组做方法入参

public static void main(String args[]){
    int[] arrays={1,2,3,4,5};
    printArray(arrays);
}
public static void printArray(int[] arrays){
    for (int i = 0; i < arrays.length; i++) {
        System.out.print(arrays[i]+" ");
    }
}

数组做返回值

public static void main(String[] args) {
    int[] arrays = {1, 2, 3, 4, 5};
    int[] reverse = reverse(arrays);
    printArray(reverse);
}
//反转数组
public static int[] reverse(int[] arrays){
    int[] result=new int[arrays.length];

    //反转的操作
    for (int i = 0, j=result.length-1; i < arrays.length; i++,j--) {
        result[j]=arrays[i];
    }
    return result;
}
public static void printArray(int[] arrays){
    for (int i = 0; i < arrays.length; i++) {
        System.out.print(arrays[i]+" ");
    }
}
posted @ 2021-06-19 19:34  valder-  阅读(50)  评论(0)    收藏  举报