JavaWeb应用开发原理与技术第6章.ppt

上传人:小飞机 文档编号:6509573 上传时间:2023-11-07 格式:PPT 页数:28 大小:328KB
返回 下载 相关 举报
JavaWeb应用开发原理与技术第6章.ppt_第1页
第1页 / 共28页
JavaWeb应用开发原理与技术第6章.ppt_第2页
第2页 / 共28页
JavaWeb应用开发原理与技术第6章.ppt_第3页
第3页 / 共28页
JavaWeb应用开发原理与技术第6章.ppt_第4页
第4页 / 共28页
JavaWeb应用开发原理与技术第6章.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《JavaWeb应用开发原理与技术第6章.ppt》由会员分享,可在线阅读,更多相关《JavaWeb应用开发原理与技术第6章.ppt(28页珍藏版)》请在三一办公上搜索。

1、Java Web应用开发原理与技术,第6章 Java语言基础及I/O 操作,第6章 Java语言基础及I/O 操作,6.1 Java基础语法6.1.1 标识符与关键字6.1.2 常量与变量6.1.3 运算符及其优先级6.1.4 程序的流程控制6.1.5 Java程序的基本结构6.2 Java面向对象基础6.2.1 对象、类和封装性6.2.2 方法重载和构造方法6.2.3 继承6.2.4 多态性-接口 6.2.5 包与类路径6.2.6 异常6.3 Java的I/O操作6.3.1 File类6.3.2 Java流操作重点:了解Java的特点难点:掌握用Java语言编写简单的程序;Java程序结构及

2、异常处理的理解学时:4小时,6.1 Java基础语法,Java语言的基础-数据类型,表达式,流程控制等与C/C+非常近似,但:不再有#include 和#define 等预处理功能语句不再有structure,union复合数据类型及typedef不再有goto 语句不再有指针、不再有多重继承不再有操作符重载(Operatior Overloading)取消自动类型转换,要求强制转换,6.1 Java基础语法,6.1.1 标识符与关键字1.标识符(Identifiers);P69页2.关键字(Keywords);P70页6.1.2 常量与变量常量的类型;P70页Java采用Unicode字符集

3、,不采用ASCII码字符集。byte 8 位(byte)0 short 16位(short)0 int 32 位 0 long 64位 0L float 32位 0.0f double 64位 0.0d char 16位 u0000(Unicode character),6.1 Java基础语法,Java语言的数据类型及其相互关系Java变量在使用之前必须先定义其数据类型。,数据类型,基本数据类型,引用数据类型,数值型,字符型(char),布尔型(boolean),整数型(byte,short,int,long),浮点型(float,double),类(class),接口(interface)

4、,数组(Array),6.1 Java基础语法,6.1.2 常量与变量变量的类型及声明 变量声明必须在前面加修饰符来确定其作用域。这一点与C+类似,但还是来作一个简要的介绍,以便对它有一个系统的理解。public 此类不但可以被同一程序包中的其它类使用,别的程序包中的类也可以使用.private 此变量或方法只能被本类中的方法来访问;protected 此变量或方法能被处于同一个类、同一个包中所有类里的方法、以及继承得到的子类中的方法访问。static 此变量或方法被整个类共享,甚至不用实例化即可调用.final 表示该类不能再分子类。final类不能被其他任何类所继承(安全的考虑)例6-1

5、outputTest.java(P72页),6.1 Java基础语法,6.1.3 运算符及其优先级 P75,6.1 Java基础语法,6.1.4 程序的流程控制语句1.条件语句:可分为简单条件语句和复合条件语句。1.简单条件语句:if-else 2.复合条件语句:if-else语句中又嵌套了if-else语句 3.开关语句:,switch(expression)case 常量1:statements;break;case 常量2:statements;break;.default:statements;break;,6.1 Java基础语法,6.1.4 程序的流程控制语句2.循环语句。whil

6、e语句do-while语句 for语句,while(布尔表达式)循环体,do 循环体 while(布尔表达式),for(初始表达式;布尔表达式;步进)循环体,6.1 Java基础语法,6.1.4 程序的流程控制语句3.转移语句与返回语句 转移语句:break,continue 返回语句:return,6.1 Java基础语法,6.1.5 Java程序的基本结构 Java程序由一个或一个以上的源代码文件组成(扩展名为.java),每个文件是Java的编译单元。每个编译单元可以声明多个类和接口,但最多只能有一个类和接口是public,这个公共类型的接口或类是编译单元间与其它对象交流的渠道。通过pa

7、ckage语句、import语句可以把其他编译单元嵌入到本应用程序中。Java应用程序必须有一个main()方法,解释器从它开始执行程序。main()方法必须以如下格式定义:import OtherClassName;类定义部分和接口定义部分;public class ClassName public static void main(String args).,6.2 Java面向对象基础,6.2.1 封装性:对象、类和消息所谓“对象”,就是一个包含数据以及与这些数据有关的操作的集合。对象具有“封装性”,它内部封装数据(称为“变量成员”)和操作代码(称为“方法成员”)。一个对象的生命周期包括

8、:生成、使用、清除。“类”是对象的抽象,而“对象”则是“类”的具体实例。“类”代表了某一批“对象”的共性和特征。必须先声明“类”,再定义类的“对象”。一个消息由三部分组成:1.接受消息的对象;2.要完成方法的名字;3.方法需要的参数程序设计者的任务包括两个方面:一是设计类,即决定把哪些数据和操作封装在一起;二是使用对象,即怎样与对象通信(通过消息)来完成所需的任务。,6.2 Java面向对象基础,6.2.1 封装性:对象、类和消息类的声明。例6-3 声明一个类Ship1 class Ship1 public String name;public double x,y,speed,directi

9、on;degreesToRadians(double degrees)/度化为弧度 return(degrees*Math.PI/180.0);Java通过new创建类Ship1的对象s1,用new为对象s1申请内存.例如:Ship1 s1=new Ship1();这里,name,x,y,speed,direction是变量成员,degreesToRadians是方法成员。Java的一个 class(类),类似于C 程序设计语言中的一 个 struct(结构)。,6.2 Java面向对象基础,6.2.2 构造方法和方法重载构造方法多半定义一些初值或内存配置工作。一个类可以有多个构造方法(方法重

10、载),对象根据参数的不同来决定执行哪一个构造方法。如果程序中没有定义构造函数,则创建对象时使用的是缺省构造方法,它是一个无内容的空构造方法。方法重载:与C+一样,Java程序的一个类里,可以有多个同名的方法。这些方法的不同之处在于:同名的方法的参数是不同的,有时是数目不同,有时是参数的数据类型不同。这样就可以根据具体情况,对相同名字的方法,执行不同的操作,返回相应结果。例6-4 Test2.java(P81页),6.2 Java面向对象基础,6.2.3 继承继承是子类利用父类中定义的变量和方法就像它们属于子类本身一样.Java程序通过extends使一个类继承另一个类的属性。public cl

11、ass ChildClass extends ParentClass.,6.2 Java面向对象基础,6.2.4 多态性-接口 接口的作用主要是将若干个重要的抽象方法和常量封装在一起,实现面向对象编程的多态机制。定义一个接口:是一系列常量和还没有实现的方法的结合。其声明类似于类的声明:interface Declaration interfaceBody实现一个接口:通过类来实现接口的具体操作时,要具体实现接口所描述的所有方法的方法体。可以通过在类声明语句中用关键字 implements 后接一个用逗号分隔的接口列表来声明该类要实现的一个或多个接口 class 类名 implements 接口

12、名列表,6.2 Java面向对象基础,6.2.5 包与类路径“包”的概念与其它语言中“函数库”的概念类似。它是“类”和“接口”的集合。创建“包”:首先把属于包的所有的类(源文件)置于当前目录的一个子目录下,将子目录命名为包的名字(称为类路径.如:packagename)。子目录下包源文件的首行应为:package packagename;例:package Graphics;class Square;class Circle;class Triangle;,6.2 Java面向对象基础,6.2.5 包与类路径 如果在源程序中用到了除java.lang这个包以外的类,无论是系统的类还是自己定义的

13、包中的类,都必须用import语句标识,以通知编译器在编译时找到相应的类文件。在当前目录中的源程序想引入packagename包中的类ClassName,必须包含如下语句:import packagename.ClassName;或者 import packagename.*;(*表示packagename包的所有类)该语句的位置在包声明语句之后,类定义语句之前.它告诉编译器指定的包中的类在本程序中可用。(联想一下C语言中的#include“”语句.)例6-5 X1.java,X2.java,Pack.java(P84页),6.2 Java面向对象基础,现在,对Java程序的基本结构再做一个总

14、结:如果一个Java程序由多个Java文件组成,则构成的目录树中每个子目录中的类的集合对应Java一个“包”(package),子目录的层次与“包”的记法的层次对应。一个Java程序可由若干个“类”和“接口”组成。但一个Java程序中只能有一个“主类”,并且“主类名”与“Java文件名”同名。main()方法只能在主类中定义。固定格式为:public static void main(String args)Java类标准库中的几种常用类。类中的成员都被声明成静态的,可以通过类名直接访问。System类:属java.lang包。String类和StringBuffer类:属java.util包

15、。Math类:属java.lang包。Date类和Calendar类:属java.util包。,6.2 Java面向对象基础,6.2.6 异常处理“异常”实际上是程序运行中由于出现问题而中断了正常的指令流的一种事件。Java中的非正常事件分为Error和Exception两种。Exception是指可被程序捕获且可恢复的非正常事件,即异常。Error是不可恢复和不可捕获的非正常事件,即错误。(系统崩溃)Java语言中,异常和错误是以类的形式定义的。异常以类Exception表示,错误以类Error表示。属于类Throwablede的子类。这三个类在java.lang包中定义。例6-6 Exce

16、ption.java(P86页)由于数组下标越界而抛出异常的一个简单例子。由于数组下标越界是属于运行时异常,代码可以通过编译。但在运行时,程序在抛出异常后会终止运行。,6.2 Java面向对象基础,6.2.6 异常处理当Java应用程序出现错误时,系统会自动产生一个“异常对象”,该对象包含了异常的类型和程序的状态信息。程序员的任务是捕获这些异常对象。Java常见的异常类:ArithmeticExceptionArrayIndexOutOfBandsExceptionArrayStoreExceptionIOExceptionFileNotFoundExceptionNullPointerExc

17、eptionMalformedURLExceptionNumberFormatExceptionOutOfMemoryException,6.2 Java面向对象基础,6.2.6 异常处理程序员可以采用Java语言的两种方式来处理“异常”:1.捕获和处理异常方式:在程序中捕获异常,转向由程序员事先编写程序完成异常处理工作。2.异常抛出方式:程序员不编写异常处理程序,只事先声明把异常层层向上抛出,直至转交给Java运行时系统处理。,6.2 Java面向对象基础,6.2.6 异常处理1.捕获和处理异常方式:捕获并处理异常 trycatchfinally结构try 接受监视的程序块;catch(异常

18、类名1 异常对象名1)异常类名1对应的处理代码;catch(异常类名2 异常对象名2)异常类名2对应的处理代码;finally 不论是否发生异常,都要执行的代码;例:Exception1.java。对程序例6-6的修改(P87页),6.2 Java面向对象基础,6.2.6 异常处理2.异常抛出方式:(主要采用间接抛出方式)该方法不对异常进行任何处理,只是简单抛出异常交给调用者处理,直至交给Java运行时系统。抛出异常声明是在一个方法声明中用throws子句给出的。其语法格式为:public void myMethod()throws Exception1,Exception2.,6.3 Jav

19、a的I/O操作,Java定义了许多类专门负责各种方式的输入输出,这些类都被放在java.io包中。6.3.1 File类File类定义了一些方法对文件或目录进行操作。如:创建、删除、重命名文件,列出目录,查询文件大小,判断文件的读写权限及是否存在,设置和查询文件的最近修改日期等。File类可以直接处理文件和文件系统相关信息,而不具有从文件读取信息的向文件写信息的功能。例6-7 FileTest.java(P88页),6.3 Java的I/O操作,6.3.2 Java流操作Java所有的I/O操作都是基于“流”的。当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,

20、或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。Java中的流分为两种:一种是字节流(8位),另一种是字符流(16位),分别由下列四个类来表示。抽象类InputStream和OutputStream主要用于字节流的输入输出.抽象类Reader和Writer主要用于字符流的输入输出。另外,Java中其他多种多样变化的流均是由它们派生出来的。例6-8 ByteIOTest.java(P91页)是使用类FileInputStream和FileOutputStream进行文件读写的一个简单例子。,6.3 Java的I/O操作,6.3.2 Java流操作例6-8 ByteIOTest.java(P91页)是使用类FileInputStream和FileOutputStream进行文件读写字节流的一个简单例子。例6-9 IOtest.java(P92页)是使用类Reader和Writer进行文件读写字符流的一个简单例子。,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号