《PHP》课件模块四 数组与异常程序设计_第1页
《PHP》课件模块四 数组与异常程序设计_第2页
《PHP》课件模块四 数组与异常程序设计_第3页
《PHP》课件模块四 数组与异常程序设计_第4页
《PHP》课件模块四 数组与异常程序设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

数组是具有相同数据类型的一组数据的集合。例如,球类的集合-篮球、排球、足球等;电器集合-洗衣机,电视机,空调等。数组中的每一个数据称为元素,数组中的每个元素数据类型要求相同,可以是基本数据类型、复合数据类型和数组类型等。在程序设计中,引入数组可以更有效地管理和处理数据。根据数组的维度可以将数组分为一维数组、多维数组。本章主要围绕一维数组和二维数组进行详细讲解。模块介绍思维导图教学大纲能力目标◎能够使用双重for语句实现二维数组循环操作◎能够使用try-catch-finally语句进行异常处理知识目标◎掌握一维数组创建和使用的方法◎掌握二维数组创建和使用的方法◎理解异常的概念、用途◎掌握try-catch-finally语句及结构的使用方法◎掌握自定义异常的创建和抛出方法学习重点◎二维数组创建和使用◎try-catch-finally语句及结构的使用方法学习难点◎二维数组创建和使用任务1输出唐诗——“游子吟”任务目标掌握一维数组创建和使用的方法掌握二维数组创建和使用的方法。游子吟慈母手中线,游子身上衣。临行密密缝,意恐迟迟归。谁言寸草心,报得三春晖。利用双重for语句将诗作《游子吟》以上文格式输出到控制台。任务描述任务1输出唐诗——“游子吟”1.1一维数组创建和使用一维数组本质上是一组相同类型数据按照一定顺序排列的集合。使用数组可以将同一类型的数据存储在连续的存储空间。当程序组需要处理或者传递一组数据时,可以采用这种类型的数组。1.1.1创建一维数组JAVA语言中,数组在使用之前必须先声明、创建,也就是先声明再创建,然后使用。声明数组只是给出了数组名字和元素的数据类型;创建数组是为数组元素分配内存单元,形成一个数组对象。创建一个数组,一般需要经历两个步骤。知识准备任务1输出唐诗——“游子吟”任务1输出唐诗——“游子吟”1.声明(定义)一维数组变量。2.创建数组,为数组分配内存单元。具体的,一维数组的创建过程有二种方式。(1)先声明,再使用new关键字进行内存分配声明数组包括数组的名字、数组所包含元素的数据类型。声明一维数组有以下两种格式:格式一:数组元素类型

数组名字[];格式二:数组元素类型[]数组名字;例如:intnum[];任务1输出唐诗——“游子吟”

创建数组实质就是为数组分配内存单元,形成一个数组对象,在为数组分配内存单元前必须指明数组的长度。数组作为对象允许使用new关键字进行内存分配。语法格式如下:数组名字=new数组元素类型[数组元素个数];其中,数组元素格式指数组中变量的格式,即数组长度。如:num=newint[6];任务1输出唐诗——“游子吟”(2)声明的同时为数组分配内存将声明和创建过程合并为一步来完成数组的创建过程如下:数组元素类型数组名字[]=new数组元素类型[数组元素个数];例如:intnum=newint[6];1.1.2初始化一维数组

任务1输出唐诗——“游子吟”静态初始化的简化格式如下:数组数据类型数组名字[]={数据1,数据2,...,数据m};例如:intnum[]={1,2,3,4,5,6};

任务1输出唐诗——“游子吟”动态初始化的简化格式如下:第1步:数组数据类型数组名字[];第2步:数组名字=new数组数据类型[数据元素个数];第3步:数组名字[下标]=初值;例如:intnum[];num=newint[6];num[0]=1;num[1]=2;num[2]=3;num[3]=4;num[4]=5;num[5]=6;任务1输出唐诗——“游子吟”1.1.3使用一维数组例4-1数组是java中常用的一种数据结构,下面例子使用一维数组将一年12个月各月的天数输出。图4-2例4-1运行效果图任务1输出唐诗——“游子吟”例4-2简单的冒泡排序,按关键字由小到大排列一组整数任务1输出唐诗——“游子吟”例4-2简单的冒泡排序,按关键字由小到大排列一组整数任务1输出唐诗——“游子吟”1.2二维数组创建和使用1.2.1创建二维数组二维数组的创建同样也有两种方式。(1)先声明,再用new关键字进行内存分配第1步:数组元素类型数组名字[][];或数组元素类型[][]数组名字;第2步:当确定行数和列数时,数组名字=new数组元素的类型[行数][列数];当列数不确定时,数组名字=new数组元素的类型[行数][];和一维数组一样,二维数组在声明的时候也没有分配内存空间,需要使用new关键字来分配内存,然后才可以访问每个元素。例如:创建一个2*4的二维数组a,即a包含两个长度为4的一维数组。

inta[][];

a=newint[2][4];任务1输出唐诗——“游子吟”任务1输出唐诗——“游子吟”二维数组的创建同样也有两种方式。(2)声明的同时为数组分配内存当确定了二维数组的行数和列数时:数组元素类型数组名字[][]=new数组元素的类型[行数][列数];例如:intarr[][]=newint[2][4];当不确定二维数组的长度时;数组元素类型数组名字[][]=new数组元素的类型[行数][];例如:intarr[][]=newint[2][];arr[0]=newint[2];arr[1]=newint[3];任务1输出唐诗——“游子吟”图4-4内存结构示意图任务1输出唐诗——“游子吟”1.2.2初始化二维数组二维数组初始化语法格式如下:数组元素类型数组名字[][]={{数据1,...,数据m},...,{数据1,...,数据n}};例如:初始化二维数组intmyarr[][]={{13,1},{46,11}};初始化数组后,要明确数组的下标都是从0开始的,如myarr[1][1]=11。任务1输出唐诗——“游子吟”1.2.3使用二维数组

完成二维数组的初始化后,可以使用数组名.length来获得行数,可以使用数组名[行下标].length来获得每行的长度,通过嵌套循环完成二维数组的遍历,格式如下:for(inti=0;i<数组名.length;i++){for(intj=0;j<数组名[i].length;j++){System.out.println(数组名[i][j]);

}}任务1输出唐诗——“游子吟”图4-5例4-3的运行效果图任务实施publicclassExample4_4{publicstaticvoidmain(Stringargs[]){chararr[][]=newchar[3][11];//定义二维数组arr[0]=newchar[]{'慈','母','手','中','线',',','游','子','身','上','衣'};arr[1]=newchar[]{'临','行','密','密','缝',',','意','恐','迟','迟','归'};arr[2]=newchar[]{'谁','言','寸','草','心',',','报','得','三','春','晖'};System.out.println("--------游子吟--------");for(inti=0;i<arr.length;i++){for(intj=0;j<arr[i].length;j++)System.out.print(arr[i][j]);System.out.println("。");}}}任务2除法计算器程序设计任务2除法计算器程序设计任务目标理解异常的概念、用途掌握try-catch-finally语句及结构的使用方法设计一个除法计算器程序,要求除数不为0,且当除数和被除数不是数字的情况下,完成相应的警告。当调用存放在数组中计算的结果时,如果参数索引越界,对异常进行捕捉和处理。运行结果:请输入被除数:20请输出除数:0异常2:除数不能为零。任务描述任务2除法计算器程序设计2.1异常及其处理机制Java程序在运行过程中,会遇到各种非正常状况,如磁盘空间不足,网络连接中断等。针对Java语言在程序运行过程中遇到的错误分为两类,一类是非致命性的,通常程序修正后可以继续执行,如除零溢出、数组越界等,这种错误称为异常(Exception)。另一类是致命性的,即程序遇到非常严重的问题,不能简单恢复执行,这就是错误(Error),比如程序运行过程中内存耗尽。异常处理机制落实到具体处理代码有两种方式:“捕捉异常”的处理方式对受检异常、运行时异常均适用,捕捉异常的语句通常是try...catch语句结构;“上报异常”通常是当前代码不能处理而产生的异常,将异常交给调用它的上级进行处理的异常方式。知识准备任务2除法计算器程序设计2.2异常的类型2.2.1系统异常任务2除法计算器程序设计任务2除法计算器程序设计1.受检异常任务2除法计算器程序设计2.运行时异常任务2除法计算器程序设计3.错误错误是标准类Error或其子类的一个对象。一般,错误发生的时候,情况比较严重,程序很难处理,如内存溢出。2.3异常捕获和处理任务2除法计算器程序设计异常捕获和处理的方式主要使用try...catch...finally的语法结构,其中,try语句块中存放可能发生异常的语句,catch语句用于处理异常,fially语句块是异常处理结构最后执行的部分,无论try块中的代码如何退出,都将执行到finally。当try语句体重语句出现异常时,停止当前程序的执行,转到catch语句体中执行异常处理语句,最后执行finally语句块的内容。Finally语句可省略。语法如下:try{

//程序代码块}catch(Exceptiontype1e){

//对Exceptiontype1的处理}catch(Exceptiontype2e){

//对Exceptiontype2的处理}......finally{//程序块}任务实施importjava.util.InputMismatchException;importjava.util.Scanner;publicclassException_Test{publicstaticvoidmain(Stringargs[]){intresult[]={0,1,2};intoper1=0;intoper2=0;Scannerin=newScanner(System.in);try{System.out.print("请输入除数:");oper1=in.nextInt();System.out.print("请输入被除数:");oper2=in.nextInt();result[2]=oper2/oper1;System.out.print("计算结果:"+result[3]);任务2除法计算器程序设计任务2除法计算器程序设计}catch(InputMismatchExceptione1){System.out.print("异常1:输入不为数字!");}catch(ArithmeticExceptione2){System.out.print("异常2:除数不为数字!");}catch(ArrayIndexOutOfBoundsExceptione3){System.out.print("异常3:数组索引越界!");}catch(Exceptione4){System.out.print("其他异常4:"+e4.getMessage());}finally{Sys

温馨提示

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

评论

0/150

提交评论