Java程序设计基础-第4章数组.ppt

上传人:wuy****n92 文档编号:70799337 上传时间:2023-01-28 格式:PPT 页数:33 大小:408KB
返回 下载 相关 举报
Java程序设计基础-第4章数组.ppt_第1页
第1页 / 共33页
Java程序设计基础-第4章数组.ppt_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《Java程序设计基础-第4章数组.ppt》由会员分享,可在线阅读,更多相关《Java程序设计基础-第4章数组.ppt(33页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、主讲主讲:高悟实高悟实JAVA程序设计基础程序设计基础第四章第四章 数组与字符串数组与字符串通过本章的学习,主要掌握以下知识点:通过本章的学习,主要掌握以下知识点:数组的基本概念数组的基本概念 数组元素的访问数组元素的访问 栈内存和堆内存栈内存和堆内存 字符串字符串 本章的重点:本章的重点:数组的定义与访问数组的定义与访问本章的难点:本章的难点:栈内存和堆内存栈内存和堆内存 多维数组的定义与应用多维数组的定义与应用34.1 数组的基本概念所谓数组就是相同数据类型的元素按一定顺序排列的集合。在Java中数组元素可以由简单数据类型的量组成,也可以由对象组成。数组中的每个元素都具有相同的数据类型,可

2、以用一个统一的数组名和一个下标来惟一地确定数组中的元素。4数组主要有如下几个特点:数组是相同数据类型的元素的集合;数组中的各元素是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起;数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a0表示名字为a的数组中的第一个元素,a1代表数组a的每二个元素,依次类推。54.2.1 一维数组的定义 使用使用Java的数组一般要经过三个步骤:的数组一般要经过三个步骤:v声明数组v创建空间v创建数组元素并赋值前两个步骤的语法:前两个步骤的语法:v数据类型数组名;/声明一维数组v数组名=new数据类型个数;/分配内存组数组举例:举例:int

3、x;int x;x=new int10;x=new int10;4.2 4.2 一维数组一维数组6在声明数组时,也可以将两个语句合并成一行,格式如下:数据类型 数组名 =new 数据类型个数;例如:int x =new int 10;74.2.24.2.2一维数组元素的访问一维数组元素的访问数组元素的引用方式:数组名下标其中“下标”可以是整型数或表达式。如a3+i(i为整数)。Java数组的下标是从0开始的。如:int x =new int 10;其中x0代表数组中第1个元素,x1代表第2个元素,x9为第10个元素,也就是最后一个元素。8【例4.1】声明一个一维数组,其长度为5,利用循环对数组

4、元素进行赋值,然后再利用另一个循环逆序输出数组元素的内容。程序代码如下:9/app4_1.java 一维数组public class app4_1 public static void main(String args)int i;int a;/声明一个数组a a=new int5;/分配内存空间供整型数组a使用,其元素个数为5for(i=0;i=0;i-)/逆序输出数组的内容System.out.print(“a”+i+”=”+ai+”,t”);System.out.println(“n数组a的长度是:”+a.length);10该程序的运行结果如下:a4=4,a3=3,a2=2,a1=1,

5、a0=0数组a的长度是:5114.2.3 一维数组的初始化及应用数组初始化格式:数据类型 数组名 =初值0,初值1,初值n;例如:int a=1,2,3,4,5;12【例4.2】设数组中有n个互不相同的数,不用排序求出其中的最大值和次最大值。/app4_2.java 比较数组元素值的大小public class app4_2 public static void main(String args)int i,Max,Sec;int a=8,50,20,7,81,55,76,93;/声明数组a,并赋初值 if(a0a1)Max=a0;/Max存放最大值 Sec=a1;/Sec存放次最大值 els

6、e Max=a1;Sec=a0;13 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);14该程序运行结果为:数组的各元素为:8 50 20 7 81 55 76 93其中的最大值是:93 次最大值是:81 155.

7、3.1 二维数组声明与分配内存的格式:数据类型 数组名 ;数组名=new 数据类型 行数 列数;4.3 4.3 多维数组多维数组16Java的多维数组不一定是规则的矩阵形式,如图5.5所示。m行12567n列891011图5.5Java语言的二维数组不一定是矩形如:如:int x;int x;x=new int 3 ;x=new int 3 ;18由于x0、x1和x2都是数组引用变量,必须对它们赋值,指向真正的数组对象,才可以引用这些数组中的元素。x0=new int 3;x1=new int2;由此可以看出,x0和x1的长度可以是不一样的,数组对象中也可以只有一个元素。程序运行到这之后的内存

8、分配情况如图4.6所示。19x0图4.6Java中的二维数组可以看成是多个一维数组x00 x01x02x1x10 x11nullx2intx20直接在声明二维数组时给数组赋初值格式:数据类型 数组名 =第1行初值,第2行初值,第n+1行初值;21【例【例4.4】计算并输出杨辉三角形。】计算并输出杨辉三角形。/app4_4.java 维数组应用的例子:显示杨辉三角形public class app4_4 public static void main(String args)int i,j;int Level=7;int iaYong =new intLevel;System.out.print

9、ln(“杨辉三角形”);for(i=0;iiaYong.length;i+)iaYongi=new int i+1;iaYong00=1;22 for(i=1;iiaYong.length;i+)/计算杨辉三角形 iaYongi0=1;for(j=1;j iaYongi.length-1;j+)iaYongij=iaYongi-1j-1+iaYongi-1j;iaYongi iaYongi.length-1=1;for(i=0;i iaYong.length;i+)/显示出杨辉三角形 for(j=0;j iaYongi.length;j+)System.out.print(iaYongij+”

10、);System.out.println();23该程序的运行结果为:杨辉三角形11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 1245.3.2 三维以上的多维数组要想提高数组的维数,只要在声明数组的时候将下标与中括号再加一组即可,所以三维数组的声明为int a;,而四维数组为int a;,依次类推。254.4.1字符串变量的创建格式一:String;=new String(”字符串”);如:String s;/声明字符串型引用变量s,此时s的值为nulls=new String(”Hello”);/在堆内存中分配空间,并 将s指向该字

11、符串首地址4.4 4.4 字符串字符串26格式二:String=new String(”字符串”);如:String s=new String(”Hello”);27格式三:String=”字符串”;如:String s=”Hello”284.4.2 String类的常用方法调用Java定义的格式:.;29表4.1String类的常用方法方法说明publicintlength()返回字符串的长度。publicbooleanequals(ObjectanObject)将给定字符串与当前字符串相比较,若两字符串相等,则返回true,否则返回false。publicStringsubstring(i

12、ntbeginIndex)返回字符串中从beginIndex开始的子串。publicStringsubstring(intbeginIndex,intendIndex)返回从beginIndex开始到endIndex的子串。publiccharcharAt(intindex)返回index指定位置的字符。publicintindexOf(Stringstr)返回str在字符串中第一次出现的位置。publicStringreplace(charoldChar,charnewChar)以newChar字符替换串中所有oldChar字符。publicStringtrim()去掉字符串的首尾空格。30

13、/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.64.6】判断回文字符串。】判断回文字符串。31while(ilength/2)if(str.charAt(i)=str.charAt(length-1-i)i+;elseyorn=false;break;if(yorn)System.out.println(str+是回文字符串);elseSystem.out.println(str+不是回文字符串);32

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com