Java程序设计基础-第4章数组.ppt_第1页
Java程序设计基础-第4章数组.ppt_第2页
Java程序设计基础-第4章数组.ppt_第3页
Java程序设计基础-第4章数组.ppt_第4页
Java程序设计基础-第4章数组.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,主讲:高悟实,JAVA程序设计基础,TEL:88549109EMAIL:gws,第四章数组与字符串,3,通过本章的学习,主要掌握以下知识点:数组的基本概念数组元素的访问栈内存和堆内存字符串本章的重点:数组的定义与访问本章的难点:栈内存和堆内存多维数组的定义与应用,4,4.1数组的基本概念,所谓数组就是相同数据类型的元素按一定顺序排列的集合。在Java中数组元素可以由简单数据类型的量组成,也可以由对象组成。数组中的每个元素都具有相同的数据类型,可以用一个统一的数组名和一个下标来惟一地确定数组中的元素。,5,数组主要有如下几个特点:数组是相同数据类型的元素的集合;数组中的各元素是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起;数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a0表示名字为a的数组中的第一个元素,a1代表数组a的每二个元素,依次类推。,6,4.2.1一维数组的定义,使用Java的数组一般要经过三个步骤:声明数组创建空间创建数组元素并赋值前两个步骤的语法:数据类型数组名;/声明一维数组数组名=new数据类型个数;/分配内存组数组,举例:intx;x=newint10;,4.2一维数组,7,在声明数组时,也可以将两个语句合并成一行,格式如下:数据类型数组名=new数据类型个数;例如:intx=newint10;,8,4.2.2一维数组元素的访问,数组元素的引用方式:数组名下标其中“下标”可以是整型数或表达式。如a3+i(i为整数)。Java数组的下标是从0开始的。如:intx=newint10;其中x0代表数组中第1个元素,x1代表第2个元素,x9为第10个元素,也就是最后一个元素。,9,【例4.1】声明一个一维数组,其长度为5,利用循环对数组元素进行赋值,然后再利用另一个循环逆序输出数组元素的内容。程序代码如下:,10,/app4_1.java一维数组publicclassapp4_1publicstaticvoidmain(Stringargs)inti;inta;/声明一个数组aa=newint5;/分配内存空间供整型数组a使用,其元素个数为5for(i=0;i=0;i-)/逆序输出数组的内容System.out.print(“a”+i+”=”+ai+”,t”);System.out.println(“n数组a的长度是:”+a.length);,11,该程序的运行结果如下:a4=4,a3=3,a2=2,a1=1,a0=0数组a的长度是:5,12,4.2.3一维数组的初始化及应用,数组初始化格式:数据类型数组名=初值0,初值1,初值n;例如:inta=1,2,3,4,5;,13,【例4.2】设数组中有n个互不相同的数,不用排序求出其中的最大值和次最大值。/app4_2.java比较数组元素值的大小publicclassapp4_2publicstaticvoidmain(Stringargs)inti,Max,Sec;inta=8,50,20,7,81,55,76,93;/声明数组a,并赋初值if(a0a1)Max=a0;/Max存放最大值Sec=a1;/Sec存放次最大值elseMax=a1;Sec=a0;,14,System.out.print(“数组的各元素为:”+a0+”“+a1);for(i=2;iMax)/判断最大值Sec=Max;/原最大值降为次最大值Max=ai;/ai为新的最大值else/即ai不是新的最大值,但若ai大于次最大值if(aiSec)Sec=ai;/ai为新的次最大值System.out.print(“n其中的最大值是:”+Max);System.out.println(“次最大值是:”+Sec);,15,该程序运行结果为:数组的各元素为:85020781557693其中的最大值是:93次最大值是:81,16,5.3.1二维数组,声明与分配内存的格式:数据类型数组名;数组名=new数据类型行数列数;,4.3多维数组,17,数据类型数组名=new数据类型行数列数;,用较为简洁的方式声明数组的格式:,18,Java的多维数组不一定是规则的矩阵形式,如图5.5所示。,如:intx;x=newint3;,19,由于x0、x1和x2都是数组引用变量,必须对它们赋值,指向真正的数组对象,才可以引用这些数组中的元素。x0=newint3;x1=newint2;由此可以看出,x0和x1的长度可以是不一样的,数组对象中也可以只有一个元素。程序运行到这之后的内存分配情况如图4.6所示。,20,21,直接在声明二维数组时给数组赋初值格式:数据类型数组名=第1行初值,第2行初值,第n+1行初值;,22,【例4.4】计算并输出杨辉三角形。,/app4_4.java维数组应用的例子:显示杨辉三角形publicclassapp4_4publicstaticvoidmain(Stringargs)inti,j;intLevel=7;intiaYong=newintLevel;System.out.println(“杨辉三角形”);for(i=0;iiaYong.length;i+)iaYongi=newinti+1;iaYong00=1;,23,for(i=1;iiaYong.length;i+)/计算杨辉三角形iaYongi0=1;for(j=1;jiaYongi.length-1;j+)iaYongij=iaYongi-1j-1+iaYongi-1j;iaYongiiaYongi.length-1=1;for(i=0;iiaYong.length;i+)/显示出杨辉三角形for(j=0;jiaYongi.length;j+)System.out.print(iaYongij+”);System.out.println();,24,该程序的运行结果为:杨辉三角形111121133114641151010511615201561,25,5.3.2三维以上的多维数组,要想提高数组的维数,只要在声明数组的时候将下标与中括号再加一组即可,所以三维数组的声明为inta;,而四维数组为inta;,依次类推。,26,4.4.1字符串变量的创建,格式一:String;=newString(”字符串”);如:Strings;/声明字符串型引用变量s,此时s的值为nulls=newString(”Hello”);/在堆内存中分配空间,并将s指向该字符串首地址,4.4字符串,27,格式二:String=newString(”字符串”);如:Strings=newString(”Hello”);,28,格式三:String=”字符串”;如:Strings=”Hello”,29,4.4.2String类的常用方法,调用Java定义的格式:.;,30,表4.1String类的常用方法,31,/app4_6.java字符串应用:判断回文字符串importjava.io.*;publicclassapp4_6publicstaticvoidmain(Stringargs)throwsIOExceptionBufferedReaderbuf;inti=0,length;Stringstr;booleanyorn=true;buf=newBufferedReader(newInputStreamReader(System.in);System.out.print(请输入字符串n);str=buf.readLine();length=str.length();,【例4.6】判断回文字符串。,32

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论