java数组

1.数组的使用

  • 数组使用通常用于以下几种
  • 普通的for循环:普通的for循环是使用最多的,从数组取出数据或者下标操作。
  • for-Each循环:增强型的for循环,前一个参数代表数组中的每一个元素,后一个参数代表数组名可遍历输出所有数组元素,但是无法取得下标,一般用来打印一些结果。
  • 数组作方法入参 :数组作参数,可对数组进行操作
  • 数组作返回值 :一般用于反转数组,对数组修改一下,返回一个新的数组。

1.1 数组基本使用演示:

package array;
//   数组的简单使用
public class ArrayDemo04 {
    public static void main(String[] args) {
        int[] a={3,4,5,8,6};

        //打印数组中的元素
        for (int i = 0; i <a.length ; i++) {

            System.out.println(a[i]);
        }


        //计算数据的和
        int sum=0;
        for (int i = 0; i <a.length ; i++) {
            sum=a[i]+sum;
            //sum+=a[i];    //精简写法
        }
        System.out.println("sum = " + sum);

        //查找数组最大值
        int max=a[0];
        for (int i = 1; i <a.length ; i++) {
           if (a[i]>max){

               max=a[i];

           }
        }
        System.out.println("最大的数:"+max);

    }
}

运行结果

3
4
5
8
6
sum = 26
最大的数:8

———————————————————————————————————————————————————————————

1.2数组进阶使用演示:

package array;

//数组的进阶使用
public class ArrayDemo05 {

    public static void main(String[] args) {

        int[] a={1,2,3,4,5,6};

        //for-Each 循环
        //JDk 1.5  没有下标
        for (int i : a) {
            System.out.println(i);
        }
        System.out.println("========================");

        print(a);//使用数组作参数,打印数组中元素


        int[] results=  resver(a);
        System.out.println(results);//打印的是results中的地址
        print(results);


    }
    //数组调用中传参
    public static void print(int[] B){

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

        System.out.println("=============");
    }

    //   反向数组
    public static int[] resver(int[] a){

        int[] result=new int[a.length];//需要定义一个新数组来接收原数组中的元素

         //反转的操作过程
        //     初始化                       布尔表达式      更新语句
        for (int i = 0 ,j=result.length-1;  i <a.length;   i++,j--) {

            result [j]=a[i];
        }

        return result;//反转数组元素:数组作为返回值,即返回的是一个数组类型的变量名
    }



}

运行结果

1
2
3
4
5
6
========================
1
2
3
4
5
6
=============
[I@1b6d3586
6
5
4
3
2
1
=============

2.多维数组

  • 多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。
  • 二维数组定义
int[][] a=new int[2][5];
             int[][] b={{1,2},{2,4},{4,6},{6,9,7,8}};
  • 解析:以上二维数组 a 可以看成一个两行五列的数组。
  • 获取数组长度
  • a.length
  • a[i].length

2.1 多维数组使用演示:

package array;

public class ArrayDemo06 {

    public static void main(String[] args) {
        int[][] a=new int[2][5];
        int[][] b={{1,2},{2,4},{4,6},{6,9,7,8}};

        System.out.println(b[2][1]); //  结果为6


        //[4][2]   //一维数组的每个元素是一个数组,且每个数组中包含两个元素
/*
*       1,2      b[0]
*       2,4      b[1]
*       4,6      b[2]
*       6,9      b[3]
*
*
* */
         //获取数组长度
         //   a.length
         //   a[i].length


        //二维数组的遍历
        for (int i = 0; i <b.length ; i++) {
            for (int j = 0; j < b[i].length; j++) {
                System.out.print(b[i][j]+"\t");
            }
            System.out.println();
        }


        prinarray(b[0]);

    }
    public static void prinarray(int[] arry){
        for (int i = 0; i <arry.length ; i++) {

            System.out.print(arry[i]+" ");
        }

    }

}

运行结果

6
1	2	
2	4	
4	6	
6	9	7	8	
1 2

———————————————————————————————————————————————————————————