欢迎来到天天文库
浏览记录
ID:51504920
大小:317.05 KB
页数:32页
时间:2020-03-25
《《JSP语法基础》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JSP语法基础(二)第四讲主讲人:孔德丽日期:学习目标学习并掌握JSP中数组、函数的定义和使用3.3【案例6】彩票组合数组是具有相同数据结构的元素组成的有序数据的集合,一个数组中包含若干个相同类型的数据。组成数组的数据统称为数组元素,用一个统一的名称来标识这些元素,这个名称就是数组名。数组中,对数组元素的区分使用一个特定的序号——数组下标来实现,可以用数组下标来方便地存取每一个数组元素。数组是一种复合类型的数据,它是由其他数据类型构造成而得到。与基本数据类型变量一样,数组变量也需要先定义、后使用。在定义数组变量时,系统会为数组在内存中分配一块连续的空间进行存储,
2、空间的大小由数组的类型和大小而定。例如:定义一个包含100个int型元素的数组,由于每个整型数据将占4个字节,因此系统会为该数组分配4*100=400字节的空间以供使用。1.数组的定义在JSP中,数组可以具有多个下标,数组下标的个数称为数组的维数。只有一个下标的数组称为一维数组。(1)一维数组一维数组的定义格式有两种,如下所示:类型数组名[ ]=new类型[常量];类型[ ]数组名=new类型[常量];下面是有效的数组定义:inta[ ]=newint[10];char[ ]str=newchar[50];(2)二维数组由两个下标来确定元素的数组称为二维数组,由
3、三个以上下标来确定元素的数组称为多维数组。二维数组定义方式如下:类型数组名[ ][ ]=new类型[常量1][常量2];图3-12二维数组的矩阵排列方式从定义上看,二维数组相对于一维数组多了一个下标,即多了一维。二维数组可以看成一个矩阵,例如:inta[ ][ ]=newint[3][4];可以看作如图3-12所示的3行4列矩阵:图3-12二维数组的矩阵排列方式2.数组的访问对数组进行访问时,通常只能对数组的某一个元素进行单独的访问,而不能对整个数组的全部数据进行访问。一维数组元素的访问形式是通过数组下标来完成,这里的下标可以是一个整型常量,也可以是一已赋值的整
4、型变量、整型值表达式或整型符号常量。例如:inta[ ]=newint[5];intn=3;a[0]=1;a[1]=2;a[2]=3;a[n]=a[n-1]+a[n-2];执行上述代码后,a[3]的值将为a[2]+a[1]=5。由于数组下标具有连续递增的特点,因此对数组的访问通常可用for循环来实现。例如:inta[ ]=newint[10];intk;for(k=0;k<10;k++)a[k]=0;对二维数组的访问也和一维数组相似,只能对单个元素逐一进行访问,而不能用单行语句对整个数组全体成员一次性地进行访问。例如:inta[ ][ ]=newint[3][4
5、];intb[ ][ ]=newint[10][10];inti,j;i=1;j=2;a[1][0]=1;//对单个元素的引用a[0][1]=2;a[i][j+1]=a[i][j-1]+a[i][j];当需要对数组中的连续多个元素进行引用时,也可以用循环来完成,对于二维数组,可以用两重循环嵌套来完成。例如:intb[ ][ ]=newint[10][10];inti,j;for(i=0;i<10;i++)//两重循环实现对二维数组的引用for(j=0;j<10,j++)a[i][j]=0;3.数组边界有一点需要特别注意,JSP本身不会对数组做边界检查,即不会检查
6、下标值是否在规定的范围内,如果程序运行中下标值超出范围,将会产生异常,甚至会引起整个系统的崩溃。因此,要求程序设计者在设计时对边界做必要的检查,以保证下标不会超出边界。inta[ ]=newint[10];intk;for(k=0;k<=10;k++)a[k]=0;3.3.2函数1.函数的定义与调用在使用一个函数前,先需要对其进行定义。函数定义通常由两部分组成:函数首部与函数体。在JSP中函数的定义必须放在声明中,函数的一般定义方式如下:<%!类型函数名(形参列表)//函数首部{程序段//函数体}%>注意函数定义不能嵌套,函数定义应该在所有函数之外。可以在调用该
7、函数的位置之前,也可以在调用该函数的位置之后。2.函数的递归调用在函数调用中,有一种特殊的用法:函数可以间接或直接地调用函数自身,这种调用称为函数的递归调用。如果在函数的函数体内,又定义了语句来调用函数自身,这种调用称为直接递归调用;如果函数a( )中有语句调用函数b( ),而函数b( )中又有语句调用了函数a( ),这种调用称为函数的间接递归调用。下面以计算代数式1+2+3+4+5为例,来分析函数的递归调用的形成步骤。(1)可以将1+2+3+4+5看作是(1+2+3+4)+5,在这里,需要处理的对象只有两个:(1+2+3+4)和5,问题变得简单了。(2)再将1
8、+2+3+4看作是(1+
此文档下载收益归作者所有