今天极悦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虚拟机的内存划分
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教程下载——数组作为方法返回值类型与参数类型:
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习