欢迎来到天天文库
浏览记录
ID:38598731
大小:487.91 KB
页数:10页
时间:2019-06-15
《老牛第五章java数组x》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数组的基本概念和声明数组的初始化二维数组数组的拷贝数组的排序,搜索和比较2021/10/5老牛学java,不明觉历!数组1数组的基本概念数组是用来存储一组相同数据类型数据的数据结构。数组是一种引用类型。数组的元素可以是简单类型的数据,也可以是引用类型的数据。数组的声明数组的定义方式有两种:type[]arr_name;(java中最好用这个,表明arr是个type的引用名称)typearr_name[];在数组定义中,不能指定数组的长度,而需要在数组的创建阶段来指定。几个例子:int[]a;floatb[];Stringc[];Date[]d;20
2、21/10/5老牛学java,不明觉历!数组的基本概念和声明2数组的创建在声明数组时不能指定数组的大小通过new操作符来创建数组对象,指定数组的大小,给数组元素的存储分配空间语法为:int[]intArray=newint[10];2021/10/5老牛学java,不明觉历!3在创建完数组后,可以对数组进行初始化,也就是给数组的各个元素进行赋值。可以采用两种方式为数组进行初始化:静态初始化动态初始化2021/10/5老牛学java,不明觉历!数组的初始化int[]intArray;intArray=newint[10];4在数组定义的同时,对数组进
3、行初始化,利用这种方式进行数组的初始化,其实完成了三步动作:数组声明数组创建数组初始化如:int[]a={1,3,5,7,9,11};2021/10/5老牛学java,不明觉历!数组的静态初始化2.数组的动态初始化所谓数组的动态初始化,就是将数组的定义和数组的初始化分开来进行。例子:int[]a;a=newint[10];for(inti=0;i<10;i++){a[i]=2*i+1;}5二维数组:语法:int[][]arr=newint[2][3];arr引用int[][]类型的对象,内容有arr[0],arr[1],而arr[0]与arr[1]
4、再分别引用一个维数组int[]对象。tmp1改变了一个值,也就改变了数组里的值,所以tmp2取出的值为改变后的值。三个引用名称引用自同一个数组对象,也就是arr,tmp1与tmp2int[][]tmp1=arr;int[][]tmp2=arr;tmp1[0][0]=9;for(inti=0;i5、数组64.数组的维度不一定要是四四方方的,您也可以制作一个二维数组,而每个维度的长度并不相同,称为“不规则数组”。int[][]arr=newint[2][];arr[0]=newint[3];//arr[0]引用至长度为3的一维数组arr[1]=newint[5];//arr[1]引用至长度为5的一维数组for(inti=0;i6、ln();}2021/10/5老牛学java,不明觉历!7可以将一个数组变量拷贝给另一个数组变量,这个时候,这两个数组变量均指向相同的数组。可以使用循环,将带个数组的元素值遍历一遍,并指定给另一个数组相对应的索引位置。2021/10/5老牛学java,不明觉历!数组拷贝a栈内存1int[]对象2345678910堆内存b8如果只是需要将数组的值拷贝到另一个数组,可以使用System的一个静态方法arraycopy(),它有四个参数:from、fromIndex、to、toIndex、count,它的意思是将数组from中的索引为fromIndex开7、始的元素,拷贝到数组to中索引为toIndex的位置,拷贝的元素个数为count个。语法:System.arraycopy(来源,起始索引,目的,起始索引,复制长度);publicclassArrayCopy_5{publicstaticvoidmain(String[]args){int[]arr1={1,2,3,4,5};int[]arr2=newint[5];System.arraycopy(arr1,0,arr2,0,arr1.length);for(inti=0;i8、2[i]+"");System.out.println();}}2021/10/5老牛学java,不明觉历!9对数组的一些
5、数组64.数组的维度不一定要是四四方方的,您也可以制作一个二维数组,而每个维度的长度并不相同,称为“不规则数组”。int[][]arr=newint[2][];arr[0]=newint[3];//arr[0]引用至长度为3的一维数组arr[1]=newint[5];//arr[1]引用至长度为5的一维数组for(inti=0;i6、ln();}2021/10/5老牛学java,不明觉历!7可以将一个数组变量拷贝给另一个数组变量,这个时候,这两个数组变量均指向相同的数组。可以使用循环,将带个数组的元素值遍历一遍,并指定给另一个数组相对应的索引位置。2021/10/5老牛学java,不明觉历!数组拷贝a栈内存1int[]对象2345678910堆内存b8如果只是需要将数组的值拷贝到另一个数组,可以使用System的一个静态方法arraycopy(),它有四个参数:from、fromIndex、to、toIndex、count,它的意思是将数组from中的索引为fromIndex开7、始的元素,拷贝到数组to中索引为toIndex的位置,拷贝的元素个数为count个。语法:System.arraycopy(来源,起始索引,目的,起始索引,复制长度);publicclassArrayCopy_5{publicstaticvoidmain(String[]args){int[]arr1={1,2,3,4,5};int[]arr2=newint[5];System.arraycopy(arr1,0,arr2,0,arr1.length);for(inti=0;i8、2[i]+"");System.out.println();}}2021/10/5老牛学java,不明觉历!9对数组的一些
6、ln();}2021/10/5老牛学java,不明觉历!7可以将一个数组变量拷贝给另一个数组变量,这个时候,这两个数组变量均指向相同的数组。可以使用循环,将带个数组的元素值遍历一遍,并指定给另一个数组相对应的索引位置。2021/10/5老牛学java,不明觉历!数组拷贝a栈内存1int[]对象2345678910堆内存b8如果只是需要将数组的值拷贝到另一个数组,可以使用System的一个静态方法arraycopy(),它有四个参数:from、fromIndex、to、toIndex、count,它的意思是将数组from中的索引为fromIndex开
7、始的元素,拷贝到数组to中索引为toIndex的位置,拷贝的元素个数为count个。语法:System.arraycopy(来源,起始索引,目的,起始索引,复制长度);publicclassArrayCopy_5{publicstaticvoidmain(String[]args){int[]arr1={1,2,3,4,5};int[]arr2=newint[5];System.arraycopy(arr1,0,arr2,0,arr1.length);for(inti=0;i8、2[i]+"");System.out.println();}}2021/10/5老牛学java,不明觉历!9对数组的一些
8、2[i]+"");System.out.println();}}2021/10/5老牛学java,不明觉历!9对数组的一些
此文档下载收益归作者所有