第四章数组和字符串ppt课件

上传人:我*** 文档编号:148650772 上传时间:2020-10-21 格式:PPTX 页数:39 大小:232.35KB
返回 下载 相关 举报
第四章数组和字符串ppt课件_第1页
第1页 / 共39页
第四章数组和字符串ppt课件_第2页
第2页 / 共39页
第四章数组和字符串ppt课件_第3页
第3页 / 共39页
第四章数组和字符串ppt课件_第4页
第4页 / 共39页
第四章数组和字符串ppt课件_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《第四章数组和字符串ppt课件》由会员分享,可在线阅读,更多相关《第四章数组和字符串ppt课件(39页珍藏版)》请在金锄头文库上搜索。

1、第四章:数组和字符串,复杂数据类型/引用数据类型,数组的基础知识 数组的复制 数组作为方法的参数 二维数组 字符串类String 与字符串相关的函数,目录,什么是数组?数组是用来存储数据的集合,一个存储具有相同类型的变量集合。 以前,我们存储N个整型的做法是:int x1,x2,xn 现在,我们可以声明一个数组变量Numbers,那么number0,number1,numbern-1表示单个变量。 数组的使用,数组的使用遵循先创建后使用的规定。 数组的定义分为两步:1、声明数组变量;2、创建数组 声明数组变量的语法格式为: 数组类型 数组名; int num;,数组和字符串数组的基本知识,声明

2、数组变量仅仅创建一个数组的引用地址,内存中并没有给数组分配任何空间。如果变量没指向任何数组,则变量的值为null,系统不会给它分配任何内存空间。 我们可以利用new操作符创建一个数组: 数组名=new 数组类型数组大小; num=new int10; 当然我们亦可以用一条语句来完成这一过程: 数组类型 数组名=new 数组类型数组大小; int num=new int10;,数组和字符串创建数组,int num=new int9;/这条语句声明了数组变量num,创建了一个由10个int型元素构成的数组,并将该数组的引用赋给num,那么在内存中的存储状况如下:,数组和字符串数组的创建,10 9

3、8 7 6 5 4 3 2 1,num0 num1 num2 num3 num4 num5 num6 num7 num8 num9 4 3 2 1,引用,num,数组的初始化对一个数组进行赋值的过程 一般对数组初始化的语法格式如下: 数据类型 数组名直接量0,直接量1,直接量k; int num=1,2,3,4; 当然我们也可以在创建数组之后对数组中的单个数组元素进行赋值 int num=new int4; num0=1; num1=2; num2=3; num3=4; int num;num=1,2,3,4; int num;num0=1;,数组和字符数组的使用,数组元素的访问:数组中的元素

4、是通过下标来访问的,数组的下标的范围为0到arrayRefVar.length-1。 其语法格式如下: arrayRefVarindex;(index表示下标) Example: int num=new int10; for(int i=0;inum.length;i+) numi=i+1; 数组长度:数组中元素的个数。 通过arrayRefVar.length可以求出该数组的长度,数组和字符串数组的使用,试编写一个类用来求一个数组中的最大元素及其下标值 public class TestArray public int printMax(int array) int max=array0;

5、int index=0; for(int i=1;iarray.length;i+) if(maxarrayi) max=arrayi; index=i; System.out.println(“The is maxium is ”+max+”(“+index+”)”); return index; ,数组和字符串数组的使用应用举例,public static void main(String args) Scanner input=new Scanner(System.in); int num1,i=0,index; System.out.println(“Please enter a nu

6、mber as the length of array:”); num1=input.nextInt(); int num=new intnum1; System.out.println(“Please enter five numbers as the value of array:”); while(input.hasNext() if(i=num) break; numi=input.nextInt(); i+; index= printMax(num); System.out.println(“The maxium is” +numindex); ,数组和字符串数组的使用应用举例,通常

7、在程序中我们需要数组的全部元素或一部分。我们采用什么方法呢? 方法一:用循环语句逐个复制数组的元素。 int sourceArray=1,2,3,4,5; int targetArray=new intsourceArray.length; for(int i=0;isourceArray.length;i+) targetArrayi=sourceArrayi; 方法二:使用System类中的静态方法arraycopy. arraycopy(sourceArray,srcpos,targetArray,tarpos,length); srcpost和tarpos分别指源数组sourceArr

8、ay和目标数组targetArray中的起始位置,复制的个数由length决定,数组和字符串数组的复制,方法中的参数既可以是基本数据类型也可以是复杂数据类型(对象、数组、字符串) 基本数据类型按值传递;复杂数据类型按引用值传递,数组和字符串数组作为方法的参数,public class TestPassArray public static void main(String args) int a=1,2; System.out.println(“Before invoking swap”); System.out.println(“array is ”+a0+a1+”); swap(a0,a1

9、); System.out.println(“After invoking swap”); System.out.println(“array is ”+a0+a1+”); System.out.println(“Before invoking swapArray”); System.out.println(“array is ”+a0+a1+”); swapArray(a); System.out.println(“After invoking swapArray”); System.out.println(“array is ”+a0+a1+”); public static void s

10、wap(int a,int b) int temp; temp=a; a=b;b=temp; public static void swapArray(int array) int temp; temp=array0;array0=array1;array1=temp; ,数组和字符串应用举例,思考一下程序的答案?,可以使用二维数组表示矩阵或表格。 声明二维数组的语法:数据类型 数组名; 例:声明int型的二维数组变量matrix int matrix; 创建二维数组:matrix=new int55; 数组元素赋值: matrix21=7; /每个下标必须放在一对方括号中,数组和字符串二维数

11、组,可以使用静态初始化来声明、创建和初始化二维数组。 我们是通过下标来访问二维数组中的特定元素的。 例如,我们要访问array中的第二行的第三个元素,就可以用array23来访问,数组和字符串二维数组的使用,int array= 1,2,3,4,5,6;,int array=new int23; array00=1; array01=2; array02=3; array10=4; array11=5; array12=6;,等价于,实际上,二维数组x的每个元素都是一个一维数组,数组中元素的个数即是数组的长度(二维数组的行数),可以用x.length求得。 元素x0,x1,xx.length-

12、1也是数组,它们的长度可以用x0.length, x1.length, xx.length-1.length求得。,数组和字符串二维数组,X00 X01 X02 X03,X10 X11 X12 X13,X20 X21 X22 X23,X0 X1 X2,试求下列矩阵中每行中最大值并将它们存在一个数组中,并将每行的数据之和存另一个数组中。,数组和字符串应用举例,public class TestDoubleArray public static int max(int array) int max=new intarray.length; for(int i=0;iarray.length;i+)

13、 int max=arrayi0; for(int k=0;karrayi.length;k+) if(maxarrayik) max=arrayik; maxi=max; return max; /求每一行中的最大值,并把他们存在一个数组中,数组和字符串应用举例,public static int sum(int array) int sum=new intarray.length; for(int i=0;iarray.length;i+) int sum=0; for(int k=0;karrayi.length,k+) sum+=arrayik; sumi=sum; /求每一行元素之和

14、,并把他们存在一个数组中,数组和字符串应用举例,public static void print(int array) for(int i=0;iarray.length;i+) System.out.print(arrayi+” ”); System.out.println(); /输出一个数组中的所以元素,数组和字符串应用举例,public static void main(String args) int array=new int44; int max=new intarray.length; int sum=new intarray.length; max=max(array); s

15、um=sum(array); print(max); print(sum); /主函数 ,数组和字符串应用举例,前面所创建的数组,其元素都是基本数组类型;但是Java允许创建元素为对象的数组,这类数组称为对象数组。 创建对象数组的语法格式: 类名 数组名=new 类名大小; Circle circleArray=new Circle10; 要初始化数组circleArray,可以使用下面语句: for(int i=0;i10;i+) circleArrayi=new Circle(); ,数组和字符串对象数组,试求对象数组circleArray中半径最大的元素 public class TestObjectArray public static Circle max(Cicrle array) Circle max_Circle=array0; for(int i=1;iarray.length,i+)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号