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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ipv4和ipv6对比(IPV4)

    TCP/IP的心脏是互联网层,这一层主要由IP和ICMP两个协议组成。IP相当于OSI参考模型中的第三层——网络层。而网络层的作用是实现终端节点之间的通信。这种终端节点之间的通信也叫‘点到点’通信。IP地址用于连接在网络中的所有主机中识别出进行通信的目标地址。谷在tcp/ip通信的所有主机中必须设置IP地址。路由控制、多条路由和路由控制表使得数据包可以成功抵达要去的地方。路由控制表记录着此…

    2022年4月15日
    187
  • 实用cmd指令(1)

    实用cmd指令(1)

    2021年8月19日
    75
  • 什么软件可以激活成功教程网址_bya意思

    什么软件可以激活成功教程网址_bya意思国内激活成功教程站点大全![http://blog.csdn.net/netxiaoyue/archive/2005/01/29/273559.aspx]国内激活成功教程站点大全!(强烈推荐)【8DD资源中心】-http://www.18dd.com/精品软件秀-http://www.ohsoft.com/163软件园-http://www.soft163.com/中华激活成功教程联盟

    2025年12月7日
    5
  • 【安德鲁斯】基于脚本的数据库"增量更新",如果不改变,每次更新java代码、!

    【安德鲁斯】基于脚本的数据库"增量更新",如果不改变,每次更新java代码、!

    2021年12月31日
    43
  • 2021年程序员平均工资_中国程序员数量

    2021年程序员平均工资_中国程序员数量前言两会期间,包括腾讯董事会主席兼首席执行官马化腾,百度董事长兼CEO李彦宏,小米创始人兼CEO雷军等一众互联网科技大佬提出了一系列的提案,围绕数字经济,自动驾驶,网络安全,智能制造等细分领域,仿佛手握未来一年的数字化密码,为我们开启新世界的大门。他们是新世界的指向灯,在他们背后则是无数的新世界探索者,通过指尖代码为未来铺路的程序员们,一直以来,作为备受人们关注的群体,互联网的飞速发展时期离不开他们。为了更好地顺应时代发展形式,运用技术改善生活,程序员客栈对中国程序员薪资和生活现状做了一些

    2022年10月10日
    2
  • webstorm 快捷键 失效问题[通俗易懂]

    webstorm 快捷键 失效问题[通俗易懂] 解决方案一:file->Settings->Keymap->设置为Default解决方案二:file->Settings->IdeaVim->取消对勾重启即可。原博客地址:https://blog.csdn.net/jianyuling199/article/details/80772479…

    2022年6月23日
    54

发表回复

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

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