美文网首页
引用类型数组

引用类型数组

作者: Amy木婉清 | 来源:发表于2021-03-25 11:05 被阅读0次
image.png
数组是对象

在Java中,数组属于引用类型数据
数组数据在堆中存储,数组变量属于引用类型,存储数组对象的地址信息,指向数组对象。
数组的元素可以看成数组对象的成员变量(只不过类型全都相同)


image.png

基本类型数组的图:


image.png
基本类型数组赋值
int[] arr = new int[3];
arr[0] = 100;
引用类型数组的声明

数组的元素可以是任何类型,当然也包括引用类型

AirPlane[] as = new AirPlane[4];
image.png
引用类型数组的初始化

引用类型数组的默认初始值为null
如果希望每一个元素都指向具体的对象,需要针对每一个元素进行"new’"运算

//方式1
AirPlane[] as = new AirPlane[4];
as[0] = new AirPlane[];
as[1] = new AirPlane[];
as[2] = new AirPlane[];
as[3] = new AirPlane[];
//方式2
AirPlane[] as ={
   new AirPlane(),
   new AirPlane(),
   new AirPlane(),
   new AirPlane()
};
image.png
引用类型数组赋值,需要new
//1)引用类型数组
Student[] stus = new Student[3];//创建Student数组对象
stus[0] = new Student("zs",25,"LF");//创建Student学生对象
stus[1] = new Student("ls",18,"JMS");
stus[2] = new Student("zl",16,"HG"); 
System.out.println(stus[0].address);//输出第一个学生对象的地址
//方式二
Student[] stus = new Student[]{
   new Student("zs",25,"LF"),
   new Student("ls",18,"JMS"),
   new Student("zl",16,"HG")
};
//声明int型数组arr,包含3个元素;每个元素都是int[]型,默认值为null
int[][]  arr = new int[3][];//数组的数组
arr[0] = new int[2];//第一个元素包含两个元素
arr[1] = new int[3];
arr[2] = new int[2];
//给arr中第二个元素的第一个元素赋值为100
arr[1][0] = 100;
/***
arr------------------------int[][]
arr[0]---------------------int[]
arr[0][0]------------------int
***/
//3为arr的长度,4为arr中每个元素的长度
int[][] arr = new int[3][4];//3行4列
for(int i= 0;i<arr.length;i++){
      for(int j=0;j<arr[i].length;j++){
               arr[i][j]=100;
     }
}

引用类型数组的图


image.png
数组的类型是基本类型数组

数组的元素可以为任意类型也包括数组类型

int[][]  arr = new int[3][];//数组的数组
arr[0] = new int[2];//第一个元素包含两个元素
arr[1] = new int[3];
arr[2] = new int[2];
arr[1][1] = 100;

arr指向一个数组,该数组有三个元素,每个元素都是int型数组,长度分别为2,3,2,如下图:


image.png

对于元素为数组的数组,如果每个数组元素的长度相同,可以采用如下方式声明

int row = 3,col = 4;
int[][] arr = new int[row][col];
for(int i =0;i<row;i++){
      for(int j=0;j<col;j++){
           arr[i][j]=0;
    }
}

上述数组可以用来表示类似"矩阵"这样的数据结构。arr[i][j]可以认为访问行号为i,列号为j的那个元素,。在其他的语言中称二维数组,但Java语言中没有真正的二维数组。结构图如下图所示:


image.png

相关文章

  • 面向对象学习笔记

    - 数组其实就是一种引用类型。 int是基本类型,int[]是引用类型 数组是引用类型,引用类型和基本类型的区别在...

  • Note 3 Swift (1)

    Swift学习笔记 变量与常量 变量 常量 值类型与引用类型 值类型 引用类型 数组与字典 数组 字典

  • 引用类型与对象拷贝

    1.引用类型有哪些?非引用类型有哪些 引用类型: 对象 object 数组 函数 正则非引用类型...

  • JavaScript引用类型与对象拷贝

    引用类型有哪些?非引用类型有哪些 引用类型:对象、数组、函数、正则非引用类型:string、number、bool...

  • 【Java基础】- 集合

    对象数组 数组既可以存储基本数据类型,也可以存储引用类型。它存储引用类型的时候的数组就叫对象数组。 比如:用数组存...

  • day2.6_数组

    数组概述 数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。 创建数组对象...

  • 引用类型数组

    数组是对象 在Java中,数组属于引用类型数据数组数据在堆中存储,数组变量属于引用类型,存储数组对象的地址信息,指...

  • 引用类型对象拷贝

    1.引用类型有哪些?非引用类型有哪些 引用类型:对象、数组、正则、函数非引用类型:number、string、bo...

  • 引用类型和对象拷贝练习

    引用类型有哪些?非引用类型有哪些 引用类型有对象,数组,函数,正则 非引用类型有数值,布尔,null,undefi...

  • js-引用类型对象拷贝

    1.引用类型; 2.过滤数组; 3.深浅拷贝方法; 1.引用类型有哪些?非引用类型有哪些 引用类型:引用类型(Ob...

网友评论

      本文标题:引用类型数组

      本文链接:https://www.haomeiwen.com/subject/vtuchltx.html