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 }

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • linux部署kafka_linux无法启动kafka

    linux部署kafka_linux无法启动kafka这是一套从零开始搭建kafka集群的笔记,我几乎帮你踩了所有的坑

    2022年10月14日
  • 网络编程socket原理_socket的基本概念和原理

    网络编程socket原理_socket的基本概念和原理一、客户机/服务器模式在TCP/IP网络中两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Servermodel)。该模式的建立基于以下两点:1、非对等作用;2、通信完全是异步的。客户机/服务器模式在操作过程中采取的是主动请示方式:首先服务器方要先启动,并根据请示提供相应服务:(过程如下)1、打开一通信通道并告知本地主机,它愿意在某一个公认地址上接收客户请求。2、等待客户请求到

    2022年10月10日
  • JS 取整 取余(C语言除法怎么取整怎么取余)

    JS取整取余取整1.取整//保留整数部分parseInt(3/2)  //12.向上取整//向上取整,有小数就整数部分加1Math.ceil(3/2)  //23.四舍五入//四舍五入Math.round(3/2)  //24.向下取整//向下取整,丢弃小数部分Math.floor(3/2)  //1取余…

  • C语言二进制与十进制之间的转换[通俗易懂]

    C语言二进制与十进制之间的转换[通俗易懂]二进制与十进制之间的转换#include<stdio.h>voidconvert(intn){ if(n>1) { convert(n/2);} printf("%d",n%2);}intmain(){ int

    2022年10月18日
  • 对 flask 的 jsonify 方法的理解

    对 flask 的 jsonify 方法的理解flask下面有个jsonify函数,函数的作用就是返回一个JSON类型的Response(一般用于把数据返回给前端)要使用jsonify,首先你得要按下面一样引用一下:`fromflaskimportjsonify,render_template,redirect,request,url_for其实这个方法就是JSON方法的再封装,简化了一下几步操作:jsonify返回的…

  • linux的ftp命令大全_linux tar命令详解

    linux的ftp命令大全_linux tar命令详解ftp主机名/IP会提示输入用户名和密码匿名登录:用户名输入:anonymous密码输入:一个邮箱格式的任意字符串ascii#设定以ASCII方式传送文件(缺省值)bell#每完成一次文件传送,报警提示.binary#设定以二进制方式传送文件.bye#终止主机FTP进程,并退出FTP管理方式.case#当为ON时,用MGET命令拷贝的文件名到本地…

发表回复

您的电子邮箱地址不会被公开。

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