Java程序设计复习要点.docx

上传人:b****0 文档编号:17840197 上传时间:2023-08-04 格式:DOCX 页数:14 大小:30.32KB
下载 相关 举报
Java程序设计复习要点.docx_第1页
第1页 / 共14页
Java程序设计复习要点.docx_第2页
第2页 / 共14页
Java程序设计复习要点.docx_第3页
第3页 / 共14页
Java程序设计复习要点.docx_第4页
第4页 / 共14页
Java程序设计复习要点.docx_第5页
第5页 / 共14页
Java程序设计复习要点.docx_第6页
第6页 / 共14页
Java程序设计复习要点.docx_第7页
第7页 / 共14页
Java程序设计复习要点.docx_第8页
第8页 / 共14页
Java程序设计复习要点.docx_第9页
第9页 / 共14页
Java程序设计复习要点.docx_第10页
第10页 / 共14页
Java程序设计复习要点.docx_第11页
第11页 / 共14页
Java程序设计复习要点.docx_第12页
第12页 / 共14页
Java程序设计复习要点.docx_第13页
第13页 / 共14页
Java程序设计复习要点.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Java程序设计复习要点.docx

《Java程序设计复习要点.docx》由会员分享,可在线阅读,更多相关《Java程序设计复习要点.docx(14页珍藏版)》请在冰点文库上搜索。

Java程序设计复习要点.docx

Java程序设计复习要点

Java程序设计__复习要点

第一讲Java语言概述

1、Java语言的特点:

简单、完全面向对象;平台无关性;多线程;直接支持分布式的网络应用,高效的网络编程;可靠性;安全性。

2、运行机制:

Java程序是半编译半解释的。

Java源程序经编译器编译后产生字节码,Java解释器解释执行字节码。

3、Java程序的开发流程:

(1)安装JDK,设置环境变量;

(2)编写Java源程序:

文件以.java作为后缀;

(3)javac将源程序编译成字节码文件(.class文件);

(3)由运行系统解释和执行字节码文件。

4、Java程序的分类:

分两类

(1)Javaapplication(Java应用程序):

能独立运行的应用程序,有控制台和图形用户界面两种运行方式。

main()方法是类首先执行的方法,语句必须写在类的方法中。

编写完源代码首先通过javac编译,生成.class字节码文件,通过Java解释器(如java.exe)来运行字节码文件。

(2)Javaapplet(Java小应用程序):

Applet是可以嵌入Web页面的最小应用,不能独立运行,必须嵌入到超文本(*.html)中,由浏览器中的Java解释器解释执行。

对于Applet源程序,首先要编译生成字节码文件,再将字节码文件嵌入到超文本中。

简而言之:

application:

应用程序,编译:

javac源文件名;运行:

java字节码文件(含主函数)

Applet:

嵌入网页中运行的小应用程序,需有相应的html文件;

5、一个完整的Java源程序结构:

package语句:

该部分至多只有一句,必须放在源程序的第一句;

import:

该部分可以有若干import语句或者没有,必须放在所有的类定义之前;

publicclassDefinition公共类定义部分,至多只有一个公共类的定义,Java语言规定该Java源程序的文件名必须与该公共类名完全一致;

classDefinition类定义部分,可以有0个或者多个类定义;

interfaceDefinition接口定义部分,可以有0个或者多个接口定义。

第二讲Java语言基础

1、Java的关键字,常量、变量,简单数据类型,运算符、表达式

常量:

final

基本数据类型:

8中基本数据类型:

boolean、char、byte、int、short、long、float、double。

其他(数组,类、接口)均为引用或参考类型。

带小数点数如3.13默认为double类型,整数默认int型

class、interface、数组都算引用/参考数据类型

运算符:

判等(==)只能对基本数据类型,equals方法;

短路运算符:

&&、||

表达式:

强制类型转换、自动类型转换

2、主要的Java语句结构:

分支、循环、转移

(1)顺序结构

(2)分支结构:

if(布尔表达式)

{语句1;}

[else

语句2;]

switch(表达式)

{

case常量1:

语句1;[break;]

case常量2:

语句2;[break;]

case常量n:

语句n;[break;]

[default:

缺省处理语句;break;]

}

case与break联用,保证多路分支的正确实现。

case子句只起标号作用,用来查找匹配的入口并从此处开始执行,对后面的case不再匹配,直接执行,直到遇到break跳出。

(3)循环结构

while(布尔表达式)

{语句;}

for(表达式1;表达式2;表达式3)

{语句;}

do{语句}

while(布尔表达式A);

(4)转移语句

break:

对于无标号的,跳出当前整个语句块;有标号的,跳出标号指的语句块。

可用于循环结构也用于分支结构。

continue:

只能在循环语句中使用;无标号:

用来结束所在循环语句块的本次循环;有标号:

跳过标号所指的循环语句所有余下部分语句,直接转入标号标明的循环层次。

注:

break使程序跳出当前循环,continue终止当前这一轮的循环,跳过本轮剩余的语句,直接进入当前循环的下一轮。

习题:

1)相应作业、实验

 

第三讲面向对象程序设计

1、类的定义和使用:

class类名,构造函数,成员变量、成员函数、this;

构造函数,this:

指当前类的一个对象,表示对当前类对象的一个引用,在类中调用当前对象(类)中的方法或变量。

this还可以用来引用当前类的构造函数。

2、继承:

Object:

所有类的父类;函数覆盖、域的隐藏、super、this;

1)子类名extends父类名;Java只能单继承;函数覆盖、域的隐藏:

super:

在子类中要引用被隐藏的父类成员时,就需要用关键字super指明。

如调用父类中被覆盖的方法,其一般格式为super.方法名([参数表]);用来访问父类中被隐藏的成员变量,其一般格式为:

super.成员变量名;调用父类的构造方法,其一般格式为super([参数表])。

2)有继承关系,构造函数的执行顺序:

先执行父类的再执行子类的;

3)方法的重载和覆盖,覆盖的原则

一个类中如果有多个同名方法但带有不同的参数列表,成为方法的重载。

重载方法的参数列表不同是指参数的数据类型或个数或次序不同。

重载方法之间必须以参数列表相区别,不能以返回值区别。

方法的覆盖是指在子类中使用与父类中同名的方法,且方法的参数(个数、类型、排列顺序)和返回类型完全一样,即子类中的方法的代码覆盖掉父类中的方法的代码,实现与父类中的方法的不同功能。

方法覆盖的三个规则:

(1)返回值必须相同

(2)子类方法不可比父类被覆盖的方法更难访问

(3)子类方法不可声明抛出更多的异常

3、接口:

关键词:

interface,interface接口名;接口中只有函数说明没有定义;以后用类来实现接口:

class类名implements接口名,接口可以实现多个,类要实现接口中所有的函数,不然类是抽象类,抽象类不能直接生成对象。

4、涉及到的关键词:

abstract、final、static

static:

静态成员,整个类对象所共有,而不是像普通成员变量那样,被对象所特有。

类中成员分:

实例成员、类成员,知道两种成员的区别

5、类的严谨定义及修饰符

[修饰符]class类名[extends父类名][implements接口列表]

{[修饰符]类型成员变量名1,…,成员变量名n;//类体;}

(1)类修饰符分类:

访问修饰符:

缺省(默认方式)、public

非访问修饰符:

abstract、final,不能同时修饰一个类

(2)extends:

实现继承

(3)implements:

实现接口

类的访问控制权限:

公有和缺省。

类中成员的访问控制权限有四种:

private、缺省、protected和public公有

6、习题

定义类、继承、实现接口

第四讲数组、字符串和实用类

1、数组都带有长度属性:

length,例如,inta[]=newint[10],a.length,Java中二维数组,每一行上的元素个数可以不同;

2、了解Java可重用类结构

3、字符串类:

String类

第五讲异常

1、什么是异常:

程序执行过程中出现的非正常事件,例如:

用户输入错、所需文件找不到、数组下标越界等。

而不是编译的语法错。

2、Java将运行错误分为两类:

错误(Error)和异常(Exception)。

3、程序对错误和异常的三种处理方式:

(1)程序不能处理错误:

对于内存溢出等错误,由系统进行处理,Java程序本身不能对错误进行处理;

(2)程序应避免能预见而不捕获的异常:

对于程序能够预见的异常,程序应该考虑周到进行事先处理,尽量避免发生异常;

(3)必须处理的异常:

对于程序无法预见的、由特殊环境错误造成的异常,如文件没找到、网络连接中断等,必须进行异常处理,保证程序正常运行,及其可靠性和安全性。

4、异常处理措施:

Java中的异常处理机制包括

(1)异常类体系,

(2)捕捉异常的try语句,(3)抛出自定义异常对象的throw语句,(4)声明方法抛出异常的throws子句,(5)自定义异常类。

这些功能不仅能够捕获并处理异常,还能够主动抛出异常,也能够将异常传递给调用者。

5、两种异常处理机制

1)抛出异常:

如果一个方法并不知道如何处理所出现的异常,则可在方法声明时,声明抛出(throws)异常。

2)捕获异常:

当Java运行时系统得到一个异常对象时,它将会沿着方法的调用栈逐层回溯,寻找处理这一异常的代码。

6、捕获异常处理过程

try{

可能产生异常的代码

}

catch(异常类型1变量)

{调用者对异常的处理}

catch(异常类型2变量)

{调用者对异常的处理}

……

[finally{}]

说明:

try块中的语句没有产生异常。

在这种情况下,Java首先执行try块中的所有的语句,然后执行finally子句中的代码,最后执行try…catch..finally块后面的语句;

try块中的语句产生了异常,而且此异常在方法内被捕获。

在这种情况下,Java首先执行try块中的语句,直到产生异常处,然后跳过此try块中剩下的语句,执行捕获此异常的catch子句的处理代码;然后执行finally子句中的代码;

try块中产生了异常,而此异常在方法内没有被捕获。

在这种情况下,Java将执行try块中的代码直到产生异常,然后跳过try块中的代码而转去执行finally子句中的代码,最后将异常抛出给方法的调用者。

7、异常处理—抛出异常

throws异常说明总是和方法说明出现在一起。

这样,方法说明告诉编译器该方法可能会产生哪些异常,从而要求它的调用者必须考虑处理这些异常。

返回类型方法名(…)[throws异常类列表]

{方法体}

在程序中使用throw语句来抛出异常:

throw异常类的实例;

8、用户自定义的异常

(1)定义Exception子类,代表异常类型

(2)在适当的时候创建并抛出异常对象。

(3)调用者处理异常

习题:

1)设计一个Java程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”,则抛出一个异常信息“ThisisaXYZ”,如果从命令行输入ABC,则没有抛出异常。

(只有XYZ和ABC两种输入)。

(实验中题目)

第六讲多线程

1、多线程:

程序并发执行,而不是执行完一个任务再执行另一个任务;

2、基于线程的多任务处理环境中,线程是可执行代码的最小单元;

3、Java语言中多线程的两种实现方法——将并发执行的代码写到run()

1)继承Thread类:

Thread中有run()方法,该方法中包含了运行时执行的代码。

缺省情况下run()方法是空的。

可以通过继承Thread类并重写它的run()方法实现用户线程。

class类名extendsThread{

publicvoidrun()

{}

}

Thread类中start()函数启动线程

sleep():

让线程休眠,让出CPU的使用

2)实现Runnable接口

class类名implementsRunnable{

publicvoidrun()

{}

}

使用过程:

(1)自定义类实现Runnable接口

(2)使用Thread类的另一构造函数:

Thread(Runnable,String)

用实现了Runnable接口的类的对象中所定义的run()方法,来覆盖新创建的线程对象的run()方法

(3)使用start()启动线程

3)多线程的两种实现方法及各自的特点(P195)

(1)继承Thread类:

声明一个线程类继承Thread类,并且覆盖Thread类的run()方法,说明线程对象所执行的操作。

这是方式的优点是,Thread类的子类对象就是线程对象,具有Thread类声明的方法,且具有线程体。

缺点是不适用于多重继承。

(2)实现Runnable接口:

当一个类已继承一个父类,还要以线程方式运行时,就需要实现Runnable接口。

一个实现Runnable接口的对象本身不是线程对象,它只能作为一个线程的目标对象使用,因此,还需要声明一个Thread线程对象。

4、线程对象的生命周期

(1)新建态:

newThread()创建的线程对象处于新建态,系统没有为它分配资源;

(2)运行态:

处于新建态达的线程启动后,进入就绪态,再由操作系统调度执行而成为运行态;

(3)阻塞态和等待态:

一个运行态的线程因某种原因不能继续运行时,进入阻塞态或等待态。

(4)终止态:

线程对象停止运行未被撤销时是终止态。

5、线程对临界资源采用互斥使用方式,关键字:

synchronized对需要的方法或代码进行标记;

6、线程间的通信:

wait(),notify(),notifyAll()

wait…nofify调度过程是几个线程对同一个对象进行操作,其中某些线程在一定条件下自动挂起(wait),等待其他线程在一定条件下通知其继续运行。

典型问题:

生产者消费者问题

7、练习题:

1)用多线程的两种实现方法,编写满足要求的应用程序。

第七讲流

1、File类:

代表磁盘文件本身信息的类,而不是文件中的内容;可以访问指定文件的所有属性:

文件名、文件长度、修改日期等。

同时可以利用File类提供的方法来创建文件、删除文件、重命名文件等。

2、文件随机读写:

RandomAccessFile类,一般的流中,文件指针只能顺序移动,RandomAccessFile可以任意移动文件指针,seek(longpos)。

3、流:

1)分类:

输入流和输出流、字节流和字符流

字节流:

InputStream、outputStream

字符流:

Reader,Writer

2)流的使用过程:

3)标准输入设备:

System.in字节流,借助Scanner或BufferedReader实现从键盘的输入

4),实现文件的读取、文件的拷贝;

DataInputStream/DataOutputStream,实现对基本类型数据的读写操作;

ObjectInputStream/ObjectOutputStream,实现对对象的读写操作;

4)字符流:

、、InputStreamReader、BufferedReader

4、习题:

1)从键盘输入内容,写入到文件中,直到输入“bye”结束。

(实验题目)

2)读入一个文件的内容拷贝到另一个文件中。

第八讲图形界面

java.awt包主要由组件类、事件类、布局类、菜单组件类等组成。

1、基本组件、容器

基本组件:

不可再分的组件,例:

Button、Checkbox、Menu、TextArea等

容器组件:

用来包含其他组件的,分两类:

1)窗口类Window:

Frame、Dialog,

2)面板类Panel,不能独立存在,不能添加菜单栏

组件不能独立地显示,必须放到容器中才能显示出来。

2、布局管理

常用的布局管理器:

流布局(FlowLayout)、边界布局(BorderLayout)、网格布局(GridLayout)、卡片布局(CardLayout)。

容器可以通过setLayout()函数设置布局方式。

Frame默认为边界布局、panel和Applet默认流布局。

3、事件处理机制:

事件、事件类、事件监听器接口

每个事件发生后,都会创建一个Event对象,包括:

事件类型、发生的时间、坐标、发生事件的对象等。

按产生事件的物理操作有:

MouseEvent、WindowEvent、ActionEvent等;

每一类事件都有相应的事件监听器:

*Listener,例如MouseEvent事件的监听器接口为MouseListener;

处理发生在某个GUI组件上的XXXEvent事件的某种情况,其事件处理的通用编写流程:

1)编写一个实现了XXXListener接口的事件监听器类;

2)在XXXListener类中的用于处理该事件情况的方法中,编写处理代码;

3)调用组件的addXXXListener方法,将类XXXListener创建的实例对象注册到GUI组件上。

Adapter类:

接口中要实现的方法可能很多,类实现接口的时候所有函数都必须实现,为了简化程序Java提供了一些适配器类:

XXXAdapter。

4、习题:

1)编写满足要求的图像界面处理,有相应的事件处理。

例:

三位数拆分或简单的计算器。

 

第九讲网络通信

1、Java网络通信的三层次:

1)最高级:

网络上下载Applet—由浏览器提供;

2)Applet声音播放和图像显示——由Java开发环境提供;

3)最低层:

利用包中提供的类直接在程序中实现网络通信。

2、通信基础:

TCP/UDP协议,IP地址、端口号,IP地址和端口号构成Socket(套接字)

3、Java提供的网络功能类

1)应用层:

URL、URLConnection

2)网络层:

InetAddress

3)传输层:

TCP:

Socket、ServerSocket;

UDP:

DatagramPacket、DatagramSocket、MulticastSocket

使用这些类都需要考虑异常处理

4、TCPSocket通信:

ServerSocket、Socket类

1)服务器端:

ServerSocket类,Socket类

2)客户端:

Socket类

服务器端程序中包含一个提供TCP连接服务的ServerSocket对象和一个参与通信的Socket对象,客户端程序中只包含一个参与通信的Socket对象。

服务器端的ServerSocket对象提供TCP连接服务,连接成功后,实际进行通信的是服务器端的Socket对象和客户端的Socket对象。

通信流程:

(1)在服务器端创建一个ServerSocket对象,指定端口号,ServerSocket类的accept()方法使服务器处于阻塞状态,等待用户请求;

(2)在客户端创建一个socket对象,指定主机地址和端口号,连到服务器上;

(3)服务器端接收到客户端的连接请求,建立一条TCP连接,再创建一个Socket对象与客户端的Socekt对象进行通信;

(4)服务器端和客户端分别创建字节输入流和字节输出流,通过字节输入流获得对方发来的数据,通过字节输出流向对方发送数据;

(5)当一方决定结束通信时,向对方发送结束信息;另一方收到结束信息后,双方分别关闭各自的TCP连接;

(6)ServerSocket对象停止等待客户端的连接请求。

Socket通信程序的四个基本步骤:

(1)在客户方和服务器方创建Socket/ServerSocket。

(2)打开连接到Socket的输入/输出流。

(3)利用输入/输出流,按照一定的协议对Socket进行读/写操作。

(4)关闭输入/输出流和Socket。

5、习题

1)实验:

简单的客户端/服务器端通信,一问一答;

2)例子:

简单的时钟服务器。

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

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2