【Java】数组的定义与使用详解!!!

【Java】数组的定义与使用详解!!!

一、数组的基本概念1.为什么要使用数组? 为了方便储存相同类型的数据,不用对多个数据的类型在进行多次定义

2.什么是数组? 数组是相同数据类型的一个集合

数组中的数据类型都是相同的;数组的空间是连在一起的;数组的每个空间都有编号,下标是由0开始的。 二、数组的创建及初始化1.数组的创建 T [] 数组名=new T[N];

T:表示数组元素类型;T[]:表示数组的类型;new:创建新的对象;N:表示数组的长度。代码语言:javascript复制int[] array1=new int[3];//表示可以容纳三个整形类型的元素的数组,默认值都为02.数组的初始化数组的初始化分为静态初始化和动态初始化

动态初始化 动态初始化:在创建数组时,直接指定数组元素的个数

代码语言:javascript复制 int[] array1=new int[3]//元素值都默认为0静态初始化 静态初始化:在创建数组时,不直接指定数组元素的个数,而直接将具体的数据内容进行指定

代码语言:javascript复制 int[] array={1,2,3};

int[] array2=new int[]{1,2,3};动态初始化和静态初始化可以分为两步,但不可以省略new T []; 静态初始化时,T数组元素类型要对应相同;静态初始化时,T数组元素类型要与{}中的元素类型对应相同;静态初始化时,new T[]可以省略;初始化时,不能既静态初始化又动态初始化,即不能又指定数据个数又指定数据具体内容;如果没有对数组初始化指定具体内容,数组中的数据有其默认值。三、数组的使用1.数组中元素的访问 我们知道数组的空间是连续的,每一块空间都有自己的编号,编号由0开始,依次递增,编号也就是下标,数组的下标是由0开始,所以我们访问通过数组的下标来访问数组元素。

代码语言:javascript复制 int[] array=new int[]{1,2,3};

System.out.println(array[0]);//1

System.out.println(array[1]);//2

System.out.println(array[2]);//3由于下标由0开始,所以下标的范围在[0,N),而N表示元素个数,不要越界,否则报错; 2.如何快速遍历数组?遍历数组:访问数组中的所有的元素个数

为了方便,我们可以通过 数组名.length 来获取数组长度;代码语言:javascript复制 int[] array=new int[]{1,2,3}

//while循环遍历

int j=0;

while(j

System.out.print(array[j]+" ");

j++;

}

System.out.println();

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

//do...while循环遍历

j=0;

do{

System.out.print(array[j]+" ");

j++;

}while(j

System.out.println();

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

//for循环遍历

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

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

}此外还可以利用for-each循环遍历数组

代码语言:javascript复制 int[] array=new int[]{1,2,3};

for(int x:array){

System.out.print(x+" ");

//将array数组中的每个放到x元素中

}3.以字符串的形式输出使用Arrays的toString方法将数组以字符串的形式输出

代码语言:javascript复制 int[] array=new int[]{1,2,3};

String ret= Arrays.toString(array);

System.out.println(ret);//[1,2,3]三、数组是引用类型

1.初始JVM内存分布

内存是一段连续的空间,主要用来储存程序运行时的数据

内村划分:

现在我们只需简单的关心虚拟机栈和堆就好:

虚拟机栈: 与方法调用相关的一些信息,每个方法在执行时,都会先创建一个栈帧,栈帧中包含:局部变量表、操作数栈、动态链接、返回地址以及一些其他信息。当运行结束时,栈帧就被销毁了,即栈帧中保存的数据也会被销毁。

堆:JVM所管理的最大的内存区,使用new创建的对象都是在堆上保存的,堆是随着程序开始运行时而创建的,随程序的退出而销毁,堆中的数据只要还在使用就不会被销毁。

2.基本变量与引用变量的区别

基本变量:该变量空间存放的是其对应的值

引用变量:该变量空间储存的是其所在的地址

代码语言:javascript复制 int a=1;

int b=2;

int[] array=new int[]{4,5,6};a,b是内置类型的变量,其空间保存的值是其初始化的值;array是数组类型的引用变量,其空间保存的是其在堆空间的首地址;3.引用变量

代码语言:javascript复制 int[] array=new int[]{1,2,3};

int[] array1=new int[]{4,5,6};代码语言:javascript复制public static void main(String[] args) {

int[] array=new int[]{1,2,3};

int[] array1=new int[]{4,5,6};

array=array1;

for(int x:array1){

System.out.print(x+" ");//4,5,6

}

array1[0]=11;

System.out.println(array1[0]);//11

System.out.println(array[0]);//11

} 将array1中的地址给了array,也就是array的地址之后都指向array1的地址,与array共用一个地址,里面的值也相同所以array1里面内容的改变array也会随之改变

相关推荐

日本配眼鏡流程
beat365在线体育正规吗

日本配眼鏡流程

⌛ 08-10 👁️ 5370
橡皮的英语怎么说
beat365在线体育正规吗

橡皮的英语怎么说

⌛ 08-24 👁️ 1131
最容易通过的网贷有哪些?这几种类型通过率高
beat365下载唯一官方网

最容易通过的网贷有哪些?这几种类型通过率高

⌛ 07-18 👁️ 7101