动力节点口口相传的Java黄埔军校
java数组作为方法参数传递及作为方法返回值
2019-09-05 来源:动力节点

  

今天动力节点java培训机构小编分别介绍java数组定义、java数组作为方法参数传递及java中数组作为方法返回值的内容,希望各位小伙伴看完此文,能够掌握java数组的定义,参数传递,返回值,下面就随小编一起看看吧。


一、数组的定义


  方式一:


  格式:数组存储的数据类型【】数组名字=new 数组存储的数据类型【长度】;


  数组存储的数据类型:创建的数组容器可以存储什么数据类型。


  【】:表示数组。


  数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组。


  new:关键字。


  数组存储的数据类型:创建的数组容器可以存储什么数据类型。


  【长度】:数组的长度,表示数组容器中可以存储多少个元素。


  注意:数组有定长的特性,长度一旦指定,不可更改。


  例如:int [] arr=new int[5];



  方式二:


  格式:数据类型 【】 数组名=new 数据类型【】{元素1,元素2,元素3...};


  注意:给定了具体的元素就不能给定长度。


  例如:int [] arr=new int{23,4,54,324,2};



  方式三:


  格式:数据类型 【】 数组名={元素1,元素2,元素3...};


  例如:int [] arr={12,34,5446,5,45};



  二、数组的访问


  直接输出数组名,显示的是数组的地址,如下面示例代码中[I@50cbc42f


  索引:每一个存储到数组的元素,都会自动拥有一个编号,从0开始,这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。


  通过索引访问数组中的元素:


  数组名【索引】,获取出数组中的元素


  数组名【索引】=数组,为数组中的元素赋值。


  定义一个空数组,动态初始化创建的数组,java会有默认值


  int[]的默认值是0,double[]默认值是0.0,boolean[]的默认值是false


  int [] arr2=new int[4];


  System.out.println(arr2[0]);//0


  double[] arr3=new double[4];


  System.out.println(arr3[0]);//0.0


  boolean[] arr4=new boolean[4];


  System.out.println(arr4[0]);//false


  数组的长度属性:每个数组都具有长度,而且是固定的,获取数组的长度格式:数组名.length,数组的最大索引值为:数组名.length-1


public class ArrayDemo {

    public static void main(String[] args) {

        //定义数组

        int [] arr = {10,20,30,40};

 

        //直接输出数组

        System.out.println(arr);//[I@50cbc42f

 

        //通过索引获取数组元素

        System.out.println(arr[0]);//10

        System.out.println(arr[1]);//20

        System.out.println(arr[2]);//30

        System.out.println(arr[3]);//40

 

        System.out.println("------------");

        //通过索引修改数组元素

        arr[2]=100;

        System.out.println(arr[0]);//10

        System.out.println(arr[1]);//20

        System.out.println(arr[2]);//100

        System.out.println(arr[3]);//40

 

        System.out.println("--------------");

        /*

            定义一个空数组,动态初始化创建的数组,java会有默认值

            int[]的默认值是0,double[]默认值是0.0,boolean[]的默认值是false

         */

        int [] arr2=new int[4];

        System.out.println(arr2[0]);//0

        double[] arr3=new double[4];

        System.out.println(arr3[0]);//0.0

        boolean[] arr4=new boolean[4];

        System.out.println(arr4[0]);//false

    }

}



三、 数组原理内存图-内存概述


  内存是计算机中的重要原件,临时存储区域,作用是运行程序。我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的,必须放进内存中才能运行,运行完毕后会清空内存。

  java虚拟机要运行程序,必须要对内存进行空间分配和管理。



  四、java虚拟机的内存划分


1567652837415973.png


  JVM的内存划分


  方法栈:方法运行时 使用的内存,比如main方法运行,进入方法栈中执行。(即方法进栈执行)


  堆内存:存储对象或者数组,new来创建的,都存储在堆内存。(看到new就想到存储在堆内存中)


  方法区:存储可以运行的class文件。


  本地方法栈:JVM在使用操作系统功能的时候使用,和我们开发无关。


  寄存器:给CPU使用,和我们开发无关。



  五、数组作为方法参数


     数组作为方法参数传递,传递的参数是数组内存的地址值。


public class ArrayDemo01 {

    public static void main(String[] args) {

        int [] arr=new int[]{11,22,33,44,55};

        System.out.println("arr="+arr);//arr=[I@58ceff1

 

        printArray(arr);//arr=[I@58ceff1传递的是地址值

    }

    /*

        定义方法,用于打印int类型数组中的内容

        返回值类型:打印完了就可以了,不需要返回值,void

        参数列表:打印哪个数组不确定,作为参数列表

        输出作为参数,实际传递的是地址值

     */

    public static void printArray(int[] a){

        System.out.println("a="+a);//a=[I@58ceff1

        //遍历数组

        for (int i = 0; i < a.length; i++) {

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

        }

    }

}



  六、 数组作为方法返回值


  数组作为方法的返回值,返回的是数组的内存地址


public class ArrayDemo02 {

    public static void main(String[] args) {

        int[] a=getArray();

        System.out.println("a="+a);//a=[I@58ceff1

        for (int i = 0; i < a.length; i++) {

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

        }

    }

    /*

        数组可以作为返回值类型

     */

    public static int[] getArray(){

        int[] arr=new int[]{11,22,33,44,55};

        System.out.println("arr="+arr);//arr=[I@58ceff1

        return arr;

    }

}


相关免费视频教程推荐


零基础java教程下载——数组作为方法返回值类型与参数类型:http://www.bjpowernode.com/xiazai/2530.html



开班信息

同类文章

微信搜索“动力节点Java学院“或扫二维码

关注官方微信免费领学习资料

动力节点Java培训机构,行业口碑最好的Java培训机构。

立即抢名额