Java期末知识总结课件.ppt

上传人(卖家):ziliao2023 文档编号:5763344 上传时间:2023-05-07 格式:PPT 页数:66 大小:536.51KB
下载 相关 举报
Java期末知识总结课件.ppt_第1页
第1页 / 共66页
Java期末知识总结课件.ppt_第2页
第2页 / 共66页
Java期末知识总结课件.ppt_第3页
第3页 / 共66页
Java期末知识总结课件.ppt_第4页
第4页 / 共66页
Java期末知识总结课件.ppt_第5页
第5页 / 共66页
点击查看更多>>
资源描述

1、2023-5-61Java程序设计程序设计Programming in Java期末总结2023-5-62教学大纲教学大纲(Syllabus)第第1章章 绪论绪论第第2章章 结构化程序设计结构化程序设计第第3章章 面向对象程序设计面向对象程序设计第第4章章 数组、字符串、向量与哈希表数组、字符串、向量与哈希表第第6章章 异常处理、递归和单体程序设计方法异常处理、递归和单体程序设计方法第第7章章 文件与数据流文件与数据流2023-5-63教学大纲教学大纲(Syllabus)第第8章章 Swing图形用户界面程序设计图形用户界面程序设计第第9章章 小应用程序小应用程序(Applet)第第11章章

2、多线程程序设计多线程程序设计2023-5-64Java中的标识符中的标识符 标识符可以用来标识变量名、类名、类标识符可以用来标识变量名、类名、类中的方法名和文件名等中的方法名和文件名等.标识符组成标识符组成:(1)字母字母,(2)数字数字,(3)下划线下划线“_”和和(4)美元符号美元符号“$”;首字符必须是首字符必须是(1)字母字母,(2)下划线下划线“_”和和(3)美元符号美元符号“$”;所有标识符是区分大小写的所有标识符是区分大小写的;除去除去关键字关键字、false、true和和null;2023-5-65Java关键字关键字 具有特殊含义的字符序列具有特殊含义的字符序列 例如:例如:

3、public、static和和class 具有特殊用途,不能作为变量名、方法名和具有特殊用途,不能作为变量名、方法名和类名类名2023-5-66数据类型数据类型2023-5-671.算术运算符算术运算符 算术运算符包括:算术运算符包括:+,-,*,/,+,-,%没有指数运算没有指数运算Math.pow(2.0,3.0);/2.03.0 整数除法:截去余数整数除法:截去余数7/5 结果为结果为 1 取模:返回余数取模:返回余数7%5 结果为结果为 22023-5-68小测验小测验?1)-7/5 =2)-7%5 =3)7%-5 =4)5.5%1.0=5)i=3 y=(i+)+(i+)+(i+)y=

4、?-1-220.52023-5-692.关系运算符关系运算符 六个关系运算符六个关系运算符:、=、=和和!=例如例如:1 2;/false3.5!=1;/true 51.5=23.0;/true540=654;/true24=3*8;/trueboolean test1=(10 10);/test1=false;2023-5-6103.布尔逻辑运算符布尔逻辑运算符六个布尔逻辑运算符六个布尔逻辑运算符:1)&(逻辑与逻辑与AND)2)|(逻辑或逻辑或OR)3)(逻辑异或逻辑异或XOR)4)!(逻辑非逻辑非NOT)单目运算符单目运算符,即只有一个操作数即只有一个操作数5)&(条件与条件与AND)6

5、)|(条件或条件或OR)2023-5-6115.赋值类运算符赋值类运算符 赋值类运算符包括:赋值类运算符包括:=、+=、-=、*=、/=、&=、|=、%=、=和和=op1=op1 二元运算符二元运算符 op2;等价于等价于 op1二元运算符二元运算符=op2;例如:例如:a=a+b;等价于等价于a+=b;2023-5-612for循环语句循环语句 格式格式:for(初始化初始化表达式表达式;条件条件表达式表达式;更新更新表达式表达式)语句或语句块语句或语句块也可写成也可写成:初始化表达式初始化表达式;while(条件表达式条件表达式)语句或语句块语句或语句块 更新表达式更新表达式;2023-5

6、-613类的定义类的定义 类的定义格式如下:类的定义格式如下:类修饰词类修饰词 class 类名类名 extends 父类名父类名 implements 接口名称列表接口名称列表 类体类体2023-5-614类的定义类的定义 类的定义格式如下:类的定义格式如下:类修饰词类修饰词(访问说明符)为public或者缺省。public用来声明该类为公有类,可以被别的对象访问。声明为公有的类存储的文件名为类名。类名类名:用户自定义的标识符,用来标志这个类的引用。父类名父类名(超类名):是指已经存在的类,可以是用户已定义的,也可以是系统类。接口名接口名:即后面讲到的接口。2023-5-615构造方法构造方

7、法 构造方法在创建新的实例对象时起作用 构造方法通常用来初始化实例对象,例如:初始化成员域或设置工作环境 构造方法的特点:与类同名 没有返回值 可以含有多种构造方法(重载)但必须具有不同的参数列表2023-5-616继承性继承性 继承性 软件重用的一种方法 根据已有的类创建新的类 采纳了旧的类的属性(域)及其行为(方法)增加了新的能力 子类继承父类 子类增加了新的成员域或新的成员方法子类对象是一种特殊的父类对象2023-5-617继承性继承性的实现的实现 采用关键字采用关键字extendspublic class J_HelloApplet extends Applet /类类J_HelloA

8、pplet结束结束2023-5-618多继承多继承 在有些计算机语言中,允许一个类有多在有些计算机语言中,允许一个类有多个直接父类。这种继承关系称为个直接父类。这种继承关系称为多继承多继承 Java不支持不支持多继承多继承 Java 允许一个类有多个直接父接口允许一个类有多个直接父接口(interface)2023-5-619多态性的种类多态性的种类p 静态的多态性静态的多态性重载(重载(Overloading)一个类中定义了多个同名的方法,它们或有不同的参数或有不同的参数类型,则称为方法的重载。p 动态的多态性动态的多态性覆盖覆盖重写(重写(Overriding)在子类中定义某方法与其父类有

9、相同的名称和参数,我们就可以这样说此方法被子类重写。2023-5-620静态的多态性静态的多态性(重载重载)在编译时就能够被识别在编译时就能够被识别 针对的是同一个类内的同名方法针对的是同一个类内的同名方法 例如例如:public int square(int x)return x*x;public double square(double x)return x*x;2023-5-621动态多态性动态多态性(覆盖覆盖)在程序运行时才被识别在程序运行时才被识别 重写父类的方法重写父类的方法 要求相同的声明要求相同的声明 例如例如:public class J_HelloApplet extend

10、s JApplet public void paint(Graphics g)g.clearRect(0,0,getWidth(),getHeight();/清除背景清除背景 g.drawString(小应用程序,您好小应用程序,您好!,10,20);/方法方法paint结束结束/类类J_HelloApplet结束结束2023-5-622类成员的封装性类成员的封装性 成员成员(域或方法域或方法)的访问控制方式的访问控制方式:1)public2)private3)protected4)default(缺省方式缺省方式)2023-5-623成员的访问控制方式成员的访问控制方式:public 则该成

11、员可以被任何类中的方法访问则该成员可以被任何类中的方法访问 表明对外开放的方式表明对外开放的方式 少量少量(或者没有或者没有)public 域域 部分部分 public 方法方法 2023-5-624成员的访问控制方式成员的访问控制方式:private 目的目的:隐藏具体的实现细节隐藏具体的实现细节 只有同一个类的成员方法才能访问私有只有同一个类的成员方法才能访问私有成员成员 域常常是域常常是private 采用采用 public“get”方法方法读取数据读取数据 采用采用 public“set”方法方法写数据写数据2023-5-625成员的访问控制方式成员的访问控制方式:protected

12、介于介于public 和和private之间之间 同一个包内的所有类的所有方法都能访同一个包内的所有类的所有方法都能访问该成员问该成员 如果不在同一个包内的类的方法要访问如果不在同一个包内的类的方法要访问该成员,则该类必须是该成员所在的类该成员,则该类必须是该成员所在的类的子类的子类2023-5-626成员的访问控制方式成员的访问控制方式:default(缺省方式缺省方式)只有在同一个包内的类的方法才能访问只有在同一个包内的类的方法才能访问该方法该方法 2023-5-627类成员封装性总结类成员封装性总结2023-5-628abstract Java允许定义抽象允许定义抽象(abstract)

13、的类和方法的类和方法 抽象抽象(abstract)的方法可以只提供方法的头部,但不提的方法可以只提供方法的头部,但不提供实现的部分供实现的部分 抽象抽象(abstract)的方法只能是抽象的方法只能是抽象(abstract)类中的方法类中的方法 例如例如:public abstract class J_Vehicle public abstract class _Shape public abstract void fuel();public abstract void b_draw();2023-5-629关键字关键字:static 静态的静态的(static)域域和静态的和静态的(stat

14、ic)方法方法实实际上隶属于类对象。际上隶属于类对象。静态的静态的(static)域域 示例示例:System.out 静态的静态的(static)方法方法 示例示例:main()示例示例:Math.sqrt()public static double sqrt(double a)2023-5-630关键字关键字:finall 在Java中,final关键字可以用来修饰类、方法修饰类、方法和变量和变量(包括成员变量和局部变量)。l 当用final作用于类的成员变量时,成员变量(注意是类的成员变量,局部变量只需要保证在使用之前被初始化赋值即可)必须在定义时或者构造器中进行初始化赋值,而且fina

15、l变量一旦被初始化赋值之后,就不能再被赋值了。l 使用final修饰方法参数的目的是防止修改这个参数的值,同时也是一种声明和约定,强调这个参数是不可变的。2023-5-631接口接口(interface)接口接口(interface)就象是一种特殊的类就象是一种特殊的类 成员方法成员方法:abstract 成员域成员域:final和和static 接口接口(interface)中所有的方法和域必须都中所有的方法和域必须都是是 public的的 每个接口一般定义在一个每个接口一般定义在一个.java 文件中文件中 2023-5-632注意事项注意事项 接口中成员方法的默认方式是接口中成员方法的默

16、认方式是 public 和和 abstract 接口中成员域的默认方式是接口中成员域的默认方式是public、static和和final2023-5-633通过初始化语句创建数组通过初始化语句创建数组 Java语言允许通过数组的初始化语句创语言允许通过数组的初始化语句创建数组。建数组。示例示例:int n=10,20,30,40,50;上面语句创建了一个含有五个元素的数组。上面语句创建了一个含有五个元素的数组。下标值分别为下标值分别为0,1,2,3,4。这时不需要运算符这时不需要运算符new。2023-5-634多维数组多维数组 最常用的多维数组是二维数组最常用的多维数组是二维数组 int a

17、=new int34;二维数组可以理解成如下图示的表格二维数组可以理解成如下图示的表格a 0 0 a 0 0 a 1 0 a 1 0 a 2 0 a 2 0 a 0 1 a 0 1 a 1 1 a 1 1 a 2 1 a 2 1 a 0 2 a 0 2 a 1 2 a 1 2 a 2 2 a 2 2 a 0 3 a 0 3 a 1 3 a 1 3 a 2 3 a 2 3 行的下标值行的下标值列的下标值列的下标值2023-5-635注意事项注意事项 Java的多维数组实际上是的多维数组实际上是 数组的数组。数组的数组。即创建以数组为元素的数组。即创建以数组为元素的数组。意味着意味着:二维数组的每

18、一行可以具有不同二维数组的每一行可以具有不同的列数。的列数。示例示例:int a ;a=new int 3 ;/allocate rowsa 0 =new int 3;/allocate row 0a 1 =new int 2;/allocate row 1 a.length 行数行数 a i.length 第第i行列数行列数2023-5-636向量向量 向量功能上与数组类似,只是其元素个数可以向量功能上与数组类似,只是其元素个数可以改变,而且向量元素的数据类型必须是改变,而且向量元素的数据类型必须是引用类引用类型型。基本原理:基本原理:预先给向量对象分配一定的存储空间,然后给向量对象添加元素

19、或者设置元素值。向量对象的存储空间大小称为向量对象的容量向量对象的容量(capacity),单位为元素个数。向量对象的实际元素个数称为向量对象的长度(向量对象的长度(size)。当向量容量扩大的时候,向量对象中存在一个容量增量容量增量(capacityIncrement),通常为一个非负整数。2023-5-637向量向量 向量所对应的类是类向量所对应的类是类java.util.Vector 向量变量的声明格式向量变量的声明格式Vector 变量名变量名;示例示例Vector vs;2023-5-638受检异常和非受检异常受检异常和非受检异常 受检异常(受检异常(Checked Exceptio

20、n)必须在方法声明时通过throws列出 在编译时就能被检测出 非受检异常(非受检异常(Unchecked Exception)不必在throws列表中 错误(Errors)和运行时异常(RuntimeExceptions)受检异常,必须处理才能通过编译受检异常,必须处理才能通过编译 运行时异常只有在运行时才能被发现运行时异常只有在运行时才能被发现 错误常常指的是致命性错误,常常也无法处理错误常常指的是致命性错误,常常也无法处理2023-5-639处理多种异常处理多种异常(Exception)类型类型 如果含有多外如果含有多外catch语句块,则异常会被语句块,则异常会被第一个与其相匹配的第一

21、个与其相匹配的catch语句块处理语句块处理2023-5-640格式格式 在在try语句块中包含可能会产生异常的语句语句块中包含可能会产生异常的语句 紧接着若干个紧接着若干个catch语句块,进行异常处理语句块,进行异常处理 catch语句块与语句块与finally语句块至少存在一个语句块至少存在一个trytry /可能会抛出异常的代码可能会抛出异常的代码 catchcatch(ExceptionTypeExceptionType ref)ref)/异常处理代码异常处理代码 finallyfinally /2023-5-641异常处理异常处理:捕捉捕捉-或者或者-声明声明 如果一个方法调用一个

22、抛出受检异常的如果一个方法调用一个抛出受检异常的方法方法(含有含有throws列表的方法列表的方法),则该方法,则该方法必须捕捉这些受检异常,或通过必须捕捉这些受检异常,或通过throws列列表声明这些异常。表声明这些异常。2023-5-642throws 列表列表在方法的声明处列出所有的受检异常在方法的声明处列出所有的受检异常返回类型返回类型 方法名方法名(参数列表参数列表)throws 异常类型异常类型 1,异常类型异常类型 2,/方法体方法体 在本方法内就可以不处理这些异常 调用该方法的方法就必须处理这些异常p 示例示例:public static void g()throws Exce

23、ption throw new Exception();/方法方法g结束结束2023-5-643重新抛出异常重新抛出异常 如果如果catch语句块不处理某种异常,可以重语句块不处理某种异常,可以重新抛出异常新抛出异常 抛出异常的方法 throw e;由其外层的try-catch 语句块处理2023-5-644文件流文件流 包包java.io中含有对文件进行处理的类中含有对文件进行处理的类 FileInputStream 以字节为单位从文件中输入数据 FileOutputStream以字节为单位输出数据到文件中 FileReader 以字符为单位读取文件数据 FileWriter以字符为单位写数

24、据到文件中 随机访问文件 RandomAccessFile2023-5-645文件流文件流qFileInputStream类用来打开一个输入文件,若要打开的文件不存在,则会产生例外FileNotFoundException,这是一个非运行时异常,必须捕获或声明抛弃;q FileOutputStream类用来打开一个输出文件,若要打开的文件不存在,则会创建一个新的文件,否则原文件的内容会被新写入的内容所覆盖。q 在进行文件的读/写操作时,会产生非运行时异常IOException,必须捕获或声明抛弃(其它的输入/输出流处理时也同样需要进行输入/输出例外处理)。2023-5-646从文件流的构造方法

25、从文件流的构造方法nFileInputStream(String name)n打开一个文件路径名为name的文件作为输入。nFileInputStream(File f)n打开一个以f描述的文件作为输入。nFileOutputStream(String name)n创建一个文件路径名为name的文件作为输出,文件如果已经存在,则其内容被清空。nFileOutputStream(File f)n创建一个以f描述的文件作为输出,文件如果已经存在,则其内容被清空。nFileOutputStream(String name,boolean append)n创建一个文件路径名为name的文件作为输出,文

26、件如果已经存在,则在该输出上输出的内容被接到原有内容之后。2023-5-647从文件流的构造方法从文件流的构造方法 File f1=new File(“file1.txt”);File f2=new File(“file2.txt”);FileInputStream in=new FileInputStream(f1);FileOutputStream out=new FileOutputStream(f2);FileOutputStream out=new FileOutputStream(“file3.txt”);输入流的参数是用于指定输入的文件名,输出流的参数则是用于指定输出的文件名。输

27、出文件输出文件输入文件输入文件readwrite2023-5-648随机访问文件随机访问文件 随机访问文件方式可以在指定位置读随机访问文件方式可以在指定位置读/写字节内容写字节内容 RandomAccessFile 实例对象实例对象 同时具有类同时具有类DataInputStream和类和类DataOutputStream的功能的功能 类类RandomAccessFile实现了接口实现了接口DataInput和和DataOutput 类类DataInputStream实现了接口实现了接口DataInput 类类DataOutputStream实现了接口实现了接口DataOutput2023-5

28、-649随机访问文件随机访问文件 RandomAccessFile:提供对文件的:提供对文件的随机访问随机访问支持。它不支持。它不是流也不是是流也不是 InputStream 和和OutputStream 的子类。的子类。它直接继承它直接继承object,并且同时实现了接口,并且同时实现了接口DataInput和和DataOutput接口,提供了支持随机文件操作的方法:接口,提供了支持随机文件操作的方法:n readXXX()或writeXXX():如ReadInt(),ReadLine(),WriteChar(),WriteDouble()等。n int skipBytes(int n):将

29、指针向下移动若干字节n length():返回文件长度n long getFilePointer():返回指针当前位置n void seek(long pos):将指针调到所需位置posfile2023-5-650随机访问文件随机访问文件p 在生成一个随机文件对象时,除了要指明文件对象和文件名之在生成一个随机文件对象时,除了要指明文件对象和文件名之外,还需要指明访问文件的模式。外,还需要指明访问文件的模式。RandomAccessFile(File file,String mode)RandomAccessFile(String name,String mode)mode 的取值:的取值:n“

30、r”只读。只读。任何写操作都将抛出任何写操作都将抛出IOException。n“rw”读写。读写。文件不存在时会创建该文件,文件存在时,文件不存在时会创建该文件,文件存在时,原文件内容不变,通过写操作改变文件内容。原文件内容不变,通过写操作改变文件内容。n“rws”同步读写。等同于读写,但是任何写操作的内容都同步读写。等同于读写,但是任何写操作的内容都被直接写入物理文件,包括文件内容和文件属性。被直接写入物理文件,包括文件内容和文件属性。n“rwd”数据同步读写。等同于读写,但任何内容写操作都数据同步读写。等同于读写,但任何内容写操作都直接写到物理文件,但对文件属性内容的修改不是这样。直接写到

31、物理文件,但对文件属性内容的修改不是这样。2023-5-651随机访问文件随机访问文件File f=new File(“file.txt”);new RandomAccessFile(f,“r”);new RandomAccessFile(f,“rw”);new RandomAccessFile(“file1.txt”,“r”);new RandomAccessFile(“file2.txt”,“rw”);swing组件继承关系框图组件继承关系框图 ObjectComponentContainerJComponentwindowJTextFieldJTextAreaJListAbstractB

32、uttonJLableJPanelJTabbedPaneJCombBoxJScrollBarJToolBarJMenuItemJButtonJtoggleItemJCheckBoxJRadioButtonJMenuFrameDialogJFrameJDialogJAppletJWindow布局管理器布局管理器n常用的布局管理器为:n流式布局(FlowLayout)n方位布局(BorderLayout)n网格布局(GridLayout)n网格块布局(GridBagLayout)n卡片布局(CardLayout)n盒式布局(BoxLayout)swing容器默认布局方式容器默认布局方式 容器种类默

33、认布局方式javax.swing.JAppletBorderLayout方位布局Javax.swing JFrameBorderLayout 方位布局Javax.swing.JDialogBorderLayout 方位布局Javax.swing.JpanelFlowLayout 流式布局Applet的生命周期的生命周期 n Applet生命周期共有四种状态n 初始态n 运行态n 停止态n 消亡态n 四个成员方法:n init()n start()n stop()n destroy()Applet的生命周期的生命周期 初始化状态初始化状态(瞬时瞬时)运行运行状态状态停止停止状态状态死亡死亡状态状

34、态Start复原复原 或或 重新进入该网页重新进入该网页StartStop关闭浏览器关闭浏览器destroy第一次加载第一次加载建构建构Init图标化图标化 或或 进入新的网页进入新的网页实现线程的方法实现线程的方法 n通过以下两种方法创建通过以下两种方法创建 Thread 对象:对象:n 声明一个 Thread 类的子类,并覆盖 run()方法。class mythread extends Thread public void run()/*覆盖该方法*/n 声明一个实现 Runnable 接口的类,并实现 run()方法。class mythread implements Runnable

35、 public void run()/*实现该方法*/继承继承Thread类类 n 线程程序执行代码public void run()启动线程public void start()通过接口通过接口Runnable构造线程类构造线程类n 类声明形式public class A extends B implements Runnable /.public void run()/.通过接口通过接口Runnable构造线程类构造线程类n 构造和启动线程的方法n A a=new A();n Thread t=new Thread(a);n t.start();A为实现接口为实现接口Runnable的类的

36、类线程周期线程周期运行结束运行结束新生态新生态就绪态就绪态运行态运行态等待态等待态睡眠态睡眠态结束态结束态阻塞态阻塞态startJava虚拟机调度虚拟机调度退让、中断等退让、中断等sleepwait资源短缺资源短缺notify/notifyAll资源就绪资源就绪结束睡眠时间到结束睡眠时间到线程周期线程周期n 新建状态(New)n 就绪状态(Runnable)n 运行状态(Running)n 阻塞状态(Blocked)n 终止状态(Dead)线程同步与异步的区别线程同步与异步的区别如何在如何在 Java 中获得同步中获得同步n两种方式实现同步:使用同步方法synchronized void methodA()使用同步块synchronized(object)/要同步的语句对象锁对象锁n当想保护一些资源不被多个线程同时访问,可以强制通过synchronized方法访问那些资源。因为线程一旦访问了synchronized方法,对象就进入了“锁定状态”。线程死锁处理线程死锁处理n当两个线程循环依赖于一对同步对象时将发当两个线程循环依赖于一对同步对象时将发生死锁。例如:生死锁。例如:n线程同步机制唤醒一个排斥的“锁”,只有当前获得锁的那个线程能够执行同步代码。n当两个或多个线程都在等待需要的锁时,而这个锁却正在被另一个也在等待的线程占有,死锁就产生了。n死锁很少发生,但一旦发生就很难调试。

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Java期末知识总结课件.ppt)为本站会员(ziliao2023)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|