java二维对象数组_java 二维数组和对象数组

java二维对象数组_java 二维数组和对象数组1.二维数组:二维数组就是存储一维数组(内存地址/引用)的数组2.二维数组的初始化1)intintA[][]={{1,2},{2,3},{3,4,5}};2)int[][]intB=newint[3][5];3)int[]intC[]=newint[3][];intC[0]=newint[2];intC[1]=newint[3];intC[2]=newint[5];1…

大家好,又见面了,我是你们的朋友全栈君。

1.二维数组:二维数组就是存储一维数组(内存地址/引用)的数组

dbdd3487b4cabd12bf1e5fea5102d1c6.png

2.二维数组的初始化

1) int intA[][]={
{1,2},{2,3},{3,4,5}};

2) int [][] intB=new int[3][5];

3) int []intC []=new int[3][];

intC[0]=new int[2];

intC[1]=new int[3];

intC[2]=new int[5];

1 public classTestArray2 {2 public static voidmain(String[] args) {3 //二维数组不是规则的矩阵

4 int [] intA[] ={
{1,2},{2,3,4},{3,4,5,6}};5 System.out.println(intA);//[[I@5e265ba4 两个[[表示是二维的 I表示数组是int型 @5e265ba4是内存地址6

7 //声明一一个二维数组,用于存储3个一维数组,每一个一维数据存多少个数组,不知道 ,null

8 int [][]intB=new int[3][];9 intB[0]=new int[3]; //3

10 intB[1]=new int[]{1,2,3,4}; //3

11 intB[2]=new int[2]; //2

12 System.out.println(intB[1]);//[I@156643d4

13 System.out.println(intB[1][1]);//214

15 //声明一个二维数组,同时创建出一维数组,每个一维数组的长度均相同16 //存储三个一维数组,每个一维数组的长度为4

17 int []intC[]=new int[3][4];18 System.out.println(intC);19

20 }21 }

3.二维数组的遍历

1) 普通 for 循环

2) 加强 for 循环

3) 普通 for 循环+加强 for 循环

d4eefefc20946bba6057708c173a83cfd89.jpg

f489c1e7ae8a492fe41963e6e344be5d45d.jpg

public classTestArray3 {public static voidmain(String[] args) {//二维数组

int [] intA[] ={
{1,2},{2,3,4},{3,4,5,6}};//(1)普通for循环

for(int i=0;i

for(int j=0;j

System.out.print(intA[i][j]+”\t”);

}

System.out.println();

}//(2)加强for循环

System.out.println(“\n=========================”);for(int[] arr:intA){ //int[]二维数组中元素的类型, arr迭代变量, intA二维组的名称

for(int i:arr){ //int,一维数组中元素的类型,i,迭代变量,arr,一维数组的名称

System.out.print(i+”\t”);

}

System.out.println();

}//(3)普通与加强for循环的混搭

System.out.println(“\n————————-“);for(int [] arr:intA){//加强for

for(int i=0;i

System.out.print(arr[i]+”\t”);

}

System.out.println();

}

System.out.println(“\n————————–“);for(int i=0;i

System.out.print(j+”\t”);

}

System.out.println();

}

}

}

View Code

4.对象数组存储表格数据

张三   19   男

李四   20   女

王五   28   男

数组存基本数据类型,也可以存引用数据类型

对象数组:使用数组存储对象(自定义对象)

83165d3206cd11b2be0b0a1722d0f9b45ce.jpg

19f5dff89ca24ca837d00658abdf0f6d431.jpg

public classPerson {private String name;//姓名

private int age;//年龄

private String gender;//性别//重写toString以打印想要的输出 否则只会打印对象的内存地址

@OverridepublicString toString() {//TODO Auto-generated method stub

return name+”\t”+age+”\t”+gender;//}public Person(String name, intage, String gender) {super();this.name =name;this.age =age;this.gender =gender;

}publicPerson() {super();

}publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}public intgetAge() {returnage;

}public void setAge(intage) {this.age =age;

}publicString getGender() {returngender;

}public voidsetGender(String gender) {this.gender =gender;

}

View Code

1 public classTestArray {2 public static voidmain(String[] args) {3 //创建一个Person类型的数组,用于存储3个Person类型的对象

4 Person [] pers=new Person[3];5 //创建Person类型的对象

6 Person p1=new Person(“张三”, 19, “男”);7 //将p1对象存储到Person类型的数组中

8 pers[0]=p1;9

10 pers[1]=new Person(“李四”, 20, “女”);11 pers[2]=new Person(“王五”,28,”男”);12

13 for(int i=0;i

17 }18 }

f8316a9061c6513a3fd7eef9f472976e.png

5.数组拷贝

地址的拷贝

int[]array={11,22,33,44};

int[] arrayB=new int[5];

arrayB=array   //两个数组指向同一内存

值的拷贝

int[]array={11,22,33,44};

int[] arrayB=new int[5];

arrayB[0]=array[0];

System 类中的 arraycopy(…)方法:快速,数组大时用次方法。

1 public classTestArrayCopy3 {2 public static voidmain(String[] args) {3 int [] arrA={11,22,33,44};//源数组

4 int [] arrB=new int[5];//目标数组

5

6 System.out.println(“数组拷贝之前”);7 for(intnum:arrB){8 System.out.print(num+”\t”);9 }10 //0 0 0 0 011 //拷贝

12 System.arraycopy(arrA, 0, arrB, 1, 2);13

14 System.out.println(“\n数组拷贝之后”);15 for(intnum:arrB){16 System.out.print(num+”\t”);17 }18 //0 11 22 0 0

19 }20 }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132948.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DVWA file inclusion 出错 allow_url_fopen=0

    DVWA file inclusion 出错 allow_url_fopen=0在DVWA平台中测试文件包含是出现错误信息include():http://wrapperisdisabledintheserverconfigurationbyallow_url_fopen=0,原因是设置allow_url_open与allow_url_include位置不对,在C:\xampp\htdocs\DVWA\php.ini文件中都设置为on并不会起作用,需要…

    2022年7月16日
    10
  • 进程的同步、互斥、通信的区别,进程与线程同步的区别[通俗易懂]

    进程的同步、互斥、通信的区别,进程与线程同步的区别[通俗易懂]这两天看进程的同步与通信,看了几本书上的介绍,也从网上搜了很多资料,越看越迷惑,被这几个问题搞得很纠结。进程同步与互斥的区别?进程的同步方式有哪些?进程的通信方式有哪些?进程同步与通信的区别是什么?线程的同步/通信与进程的同步/通信有区别吗?在好多教材上(包括国内与国外的)也没有明确这些概念,现在对每个问题还没有准确的答案,下面将自己的理解记下来,以后再补充。参考资料:《操作系统教程》孙钟秀主编…

    2025年5月26日
    3
  • Oracle存储过程详解(一)

    Oracle存储过程详解(一)存储过程创建语法:create[orreplace]procedure存储过程名(param1intype,param2outtype)as变量1类型(值范围);变量2类型(值范围);BeginSelectcount(*)into变量1from表Awhere列名=param1;If(判断条件)thenSelect

    2022年7月17日
    19
  • 怎么用音频转换器转换成mp3格式_音频格式转换软件哪个好

    怎么用音频转换器转换成mp3格式_音频格式转换软件哪个好怎样用MP3转换器转换音频格式

    2022年4月21日
    55
  • python解析json文件

    python解析json文件认识json数据json有两种数据结构:对象和数组。对象:用大括号表示,由键值对组成,每个键值对用逗号隔开。其中key必须为字符串且是双引号,value可以是多种数据类型。数组:用中括号表示,每个元素之间用逗号隔开。json中的字符串都要用双括号表示。json数据可以嵌套表示出结构更加复杂的数据。json格式与python格式的对应Python JSONd…

    2022年9月25日
    2
  • c++中对象和类的关系_类的对象只能访问该类的私有成员

    c++中对象和类的关系_类的对象只能访问该类的私有成员类以及类和对象的关系以及类的访问修饰符一.类的概念:二.类和对象的关系:三.类的组成:四.类的创建:五.类的访问修饰符:一.类的概念:类是对于某一类对象的一个统称,类是对象的抽象化,对象是类的实例。定义一个类时,相当于定义了一个数据类型的蓝图。但实际上并没有定义任何的数据,但它定义了类的名称意味着什么,也就是说,类的对象由什么组成及在这个对象上可执行什么操作,就是单纯的进行了一个定义。二.类和对象的关系:类就是对象的抽象化概念,一个类就是一个对象集合的总称,通俗的来讲就是对象需要什么这个类就提供什么

    2025年8月9日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号