欢迎来到天天文库
浏览记录
ID:36197925
大小:1.01 MB
页数:77页
时间:2019-05-07
《java第04讲数组、字符串、向量与哈希表》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2021/9/151第4章数组、字符串、向量与哈希表2021/9/152本章总体纲要数组字符串字符串缓冲区向量哈希表2021/9/153数组由相同类型的若干项数据组成例如:publicstaticvoidmain(Stringargs[])其中args是String类型的数组占用连续的内存地址数组的静态性一旦创建就不能修改数组的长度类似于动态数组的类型类Vector长度可以变大或缩小2021/9/154示例int[]c=newint[12];c是数组名如何获得数组的长度?c.length第一个数组元素的下标为0使用数组可以通过数组名与下标每个数组元素
2、类似于普通的变量c[0]=3;c[0]+=5;-4560721543-89062-3164537812c[1]c[2]c[4]c[3]c[5]c[6]c[7]c[8]c[9]c[10]c[11]c[0]c.length2021/9/155下标有时也称为索引必须是整数或整数表达式,例如:c[11]示例:含有运算符的下标表达式:if(x==3)t=(c[5-2]==c[3])&&(c[x]==c[3]);//t=true2021/9/156数组声明一维数组变量的声明格式有如下两种:(1)数组元素的数据类型[]变量名;(2)数组元素的数据类型变量名[];示
3、例:int[]c;String[]names;intc[];Stringnames[];2021/9/157内存分配Java数组实际上也是对象,所以可通过new关键字来创建示例:int[]c;//声明c=newint[12];//创建对象,并分配内存声明时不必指定数组的大小上面的两个语句可以简化成一个语句int[]c=newint[12];2021/9/158初始化数组基本数据类型的元素初始化为0值或false非基本数据类型的元素初始化为null可以采用循环结构初始化数组示例:double[]squares;squares=newdouble[100
4、];for(inti=0;i5、c,intsrcPos,Objectdest,intdestPos,intlength);拷贝数组:从源数组的指定位置拷贝提定长度的元素到目标数组的指定位置2021/9/1511实例int[]src={1,2,3,4,5,6};int[]dest=newint[12];System.arraycopy(src,0,dest,0,src.length);2021/9/1512注意事项当通过循环遍历数组时下标永远不要低于0下标永远要比数组元素个数小当数组下标出错,Java产生ArrayIndexOutOfBoundsException2021/9/16、513多维数组最常用的多维数组是二维数组int[][]a=newint[3][4];二维数组可以理解成如下图示的表格a[0][0]a[1][0]a[2][0]a[0][1]a[1][1]a[2][1]a[0][2]a[1][2]a[2][2]a[0][3]a[1][3]a[2][3]行的下标值列的下标值2021/9/1514示例1类似于一维数组进行二维数组的声明、创建(内存分配)与初始化示例:classJ_FillArray{publicstaticvoidmain(Stringargs[]){int[][]matrix=newint[4][5];f7、or(introw=0;row<4;row++){for(intcol=0;col<5;col++){matrix[row][col]=row+col;}//内部for循环结束}//外部for循环结束}//方法main结束}//类J_FillArray结束2021/9/1515示例2通过初始化语句创建数组示例:double[][]c={{1.0,2.0,3.0,4.0},{0.0,1.0,0.0,0.0},{0.0,0.0,1.0,0.0}};2021/9/1516注意事项Java的多维数组实际上是数组的数组即创建以数组为元素的数组意味着:二维数组的8、每一行可以具有不同的列数示例:inta[][];a=newint[3][];//allocaterowsa[
5、c,intsrcPos,Objectdest,intdestPos,intlength);拷贝数组:从源数组的指定位置拷贝提定长度的元素到目标数组的指定位置2021/9/1511实例int[]src={1,2,3,4,5,6};int[]dest=newint[12];System.arraycopy(src,0,dest,0,src.length);2021/9/1512注意事项当通过循环遍历数组时下标永远不要低于0下标永远要比数组元素个数小当数组下标出错,Java产生ArrayIndexOutOfBoundsException2021/9/1
6、513多维数组最常用的多维数组是二维数组int[][]a=newint[3][4];二维数组可以理解成如下图示的表格a[0][0]a[1][0]a[2][0]a[0][1]a[1][1]a[2][1]a[0][2]a[1][2]a[2][2]a[0][3]a[1][3]a[2][3]行的下标值列的下标值2021/9/1514示例1类似于一维数组进行二维数组的声明、创建(内存分配)与初始化示例:classJ_FillArray{publicstaticvoidmain(Stringargs[]){int[][]matrix=newint[4][5];f
7、or(introw=0;row<4;row++){for(intcol=0;col<5;col++){matrix[row][col]=row+col;}//内部for循环结束}//外部for循环结束}//方法main结束}//类J_FillArray结束2021/9/1515示例2通过初始化语句创建数组示例:double[][]c={{1.0,2.0,3.0,4.0},{0.0,1.0,0.0,0.0},{0.0,0.0,1.0,0.0}};2021/9/1516注意事项Java的多维数组实际上是数组的数组即创建以数组为元素的数组意味着:二维数组的
8、每一行可以具有不同的列数示例:inta[][];a=newint[3][];//allocaterowsa[
此文档下载收益归作者所有