唐大仕 http://www.dstang.com dstang2000@263.net JAVA 程序设计 唐大仕 http://www.dstang.com dstang2000@263.net.

Slides:



Advertisements
Similar presentations
第四章 类、对象和接口.
Advertisements

JAVA程序设计 第5章 深入理解JAVA语言.
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
JAVA 编 程 技 术 主编 贾振华 2010年1月.
檔案處理.
Java程序设计教程 第一讲 Java概述.
Tool Command Language --11级ACM班 金天行.
第十五章 网络编程.
第二章 JAVA语言基础.
第二部分 Java语言基础篇 第4章 Java语言与面向对象 (之一).
第14章 c++中的代码重用.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
輸入輸出 學習目標 瞭解串流與輸入輸出的關係 認識InputStream、OutputStream繼承架構
创意源自激情,技术成就梦想 畅翼创新俱乐部 2012年春俱乐部第三次技术培训 赵程.
目标 运用File类进行文件操作 理解流,标准输入/输出流的概念
Chin-Yi Tsai Java Chin-Yi Tsai
第九章 字符串.
Ch02 視窗Swing套件 物件導向系統實務.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
第2章 简单的JAVA 程序
第5章 面向对象程序设计 本章要点 5.1 面向对象程序设计概述 5.2 Java语言的面向对象程序设计 5.3 方法的使用和对象数组
2018/11/15 面向对象与多线程综合实验-GUI设计 教师:段鹏飞.
EBNF 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
Multithread 多執行緒 I/O Lecturer:楊昌樺.
JAVA 编 程 技 术 主编 贾振华 2010年1月.
本單元介紹何謂變數,及說明變數的宣告方式。
程式設計實作.
Java程序设计 第18章 二进制I/O.
西南科技大学网络教育系列课程 高级语程序设计(Java) 第九章 输入/输出流.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
第七章 输入/输出 标准输入输出 流式I/O基础 文件 随机存取文件 对象输入/输出流.
王豐緒 銘傳大學資訊工程學系 問題:JAVA 物件檔輸出入.
走进编程 程序的顺序结构(二).
辅导课程六.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
第二章 Java语言基础.
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
PaPaPa项目架构 By:Listen 我在这.
Java程序设计 第2章 基本数据类型及操作.
Java语言程序设计 清华大学出版社 第8章 输入输出流(1).
JAVA 编 程 技 术 主编 贾振华 2010年1月.
《JAVA程序设计》 语音答疑 辅导老师:高旻.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
第二章Java基本程序设计.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
$9 泛型基础.
C#面向对象程序设计 $6 深入理解类.
第二章 Java基本语法 讲师:复凡.
第二章 Java语法基础.
Chapter 18 使用GRASP的对象设计示例.
Review 1~3.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
辅导课程十五.
第二章 Java基本语法 讲师:复凡.
第二章 Java基本语法 讲师:复凡.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
JAVA 程式設計與資料結構 第三章 物件的設計.
第2章 Java语言基础.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第二章 Java基础语法 北京传智播客教育
9 输入输出及文件操作.
6 集合类与泛型.
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
Summary
Presentation transcript:

唐大仕 http://www.dstang.com dstang2000@263.net JAVA 程序设计 唐大仕 http://www.dstang.com dstang2000@263.net

复习 第1章 Java语言与面向对象的程序设计 第2章 简单的Java程序 第3章 数据运算、流控制和数组 第4章 类、包和接口 第3章 数据运算、流控制和数组 第4章 类、包和接口 第5章 深入理解Java语言 第6章 异常处理 第7章 工具类及常用算法 第8章 Java的多线程 第9章 流、文件及基于文本的应用 第10章 图形用户界面 第11章 网络、多媒体和数据库编程

第1章 JAVA语言与面向对象的程序设计 1.1 Java语言简介 1.2 面向对象程序设计

JAVA的特点 简单易学 面向对象 平台无关性 安全稳定 支持多线程 很好地支持网络编程(Applet) Java 丰富的类库(各种包齐备)

对象(object) 封装的实体 = 数据+方法(行为) 数据:属性或状态 方法: 作用于数据上的操作 封装:属性的访问和变化通过方法完成 方法: 作用于数据上的操作 封装:属性的访问和变化通过方法完成 每个对象由对象标识符唯一标识

面向对象的特征 封装性 继承性 多态性

对象的关系 包含、继承和关联。 当对象A 是对象B 的属性时,称对象B包含对象A。 当对象A是对象B的特例时,称对象A继承了对象B。

第2章 简单的JAVA 程序 开发JAVA 程序的基本步骤 基本输入输出编程 JAVA编程工具

JAVA程序的基本构成 HelloDate.java Package 语句(0或1句) Import 语句(0或多句)引入其他类的类库 类定义——class 类=类头+类体 类成员=域(属性)+方法 方法=方法头+方法体 语句由“;”结束, {}的使用。

Application和Applet程序 结构和运行环境不同。 前者是完整的程序,需要独立的解释器解释运行。 后者是嵌在HTML网页中的非独立的程序,由Web 浏览器内部包含的JAVA解释器来解释运行。 前者含main 后者继承Applet

第3章 数据运算、流控制和数组 3.1 数据类型、变量与常量 3.2 运算符与表达式 3.3 流程控制语句

Java数据类型划分 Java中的数据类型分为两大类,一类是基本数据类型(primitive types), 另一类是引用类型( reference types )。后者相当于对象。 整数类型(byte, short, int, long) 数值型 浮点类型(float, double) 基本数据类型 字符型(char) 布尔型(boolean) 数据类型 类(class) 引用数据类型 接口(interface) 数组

分支语句--if if(条件表达式) 语句块; // if分支 else 语句块; // else分支 例:LeapYear.java

语句 分支 if switch 循环 for while do

特殊流程控制语句 break 语句 break语句用于终止某个语句块的执行 { …… { …… break; …… } break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块 label1: { …… label2: { …… label3: { …… break label2;

数组元素的默认初始化 数组是引用类型,它的元素相当于类的成员变量,因此数组一经分配空间,其中的每个元素也被按照成员变量同样的方式被隐式初始化。例如: public class Test { public static void main(String argv[]){ int a[]= new int[5];  System.out.println(a[3]); }

多维数组初始化 静态初始化: 动态初始化 int a[][] = new int[4][5]; int intArray[][] = {{1,2},{2,3},{3,4,5}}; int intArray1[3][2] = {{1,2},{2,3},{4,5}}; //illegal 动态初始化 int a[][] = new int[4][5]; int b[][] = new int[3][] b[0] = new int[2]; b[1] = new int[3]; b[2] = new int[5];

第4章 类、包和接口

4.1 类、域、方法 4.1.1 定义类中的域和方法 4.1.2 构造方法与对象的创建 4.1.3 使用对象 4.1.4 方法的重载 4.1.5 this的使用

4.2 类的继承 4.2.1 派生子类 4.2.2 域的继承与隐藏、添加 4.2.3 方法的继承、覆盖与添加 4.2.4 super的使用 4.2.5 父类对象与子类对象的转换

4.3 包 4.3.1 package语句 4.3.2 import语句 4.3.3 编译和运行包中的类 4.3.4 CLASSPATH

4.4 成员的访问控制符 同一个类中 同一个包中 不同包中的子类 不同包中的非子类 private Yes 默认 protected public

4.5 非访问控制符 static final abstract 非访问控制符 基 本 含 义 修 饰 类 修 饰 成 员 修饰局部变量 4.5 非访问控制符 非访问控制符 基 本 含 义 修 饰 类 修 饰 成 员 修饰局部变量 static 静态的、非实例的、类的 只可以修饰内部类 Yes final 最终的、不可改变的 abstract 抽象的、不可实例化的

4.6 接口的定义 interface 注意其所有方法都是 public abstract 的 4.6 接口的定义 interface 注意其所有方法都是 public abstract 的 其所有字段都是public static final的

第5章 深入理解Java语言

5.1 变量及其传递 5.1.1 基本类型变量与引用型变量 5.1.2 域变量与局部变量 5.1.3 变量的传递 5.1.4 变量的返回

5.2 多态与虚方法调用 5.2.1 上溯造型 5.2.2 虚方法调用 5.2.3 动态类型确定

5.3 对象构造与初始化 5.3.1 调用本类或父类的构造方法 5.3.2 构造方法的执行过程 5.3.3 构建方法内部调用的方法的多态性

5.3.2 构造方法的执行过程 对于一个复杂的对象,构造方法的执行过程遵照以下步骤: 调用本类或父类的构造方法,直至最深一层派生类。 按照声明顺序执行域的初始化赋值。 执行构造函数中的各语句。 构建器的调用顺序非常重要。先父类构造,再本类成员赋值,最后执行构造方法中的语句。

5.4 对象清除与垃圾回收 5.4.1 对象的自动清除 5.4.2 System.gc()方法 5.4.3 finalize()方法

5.5 内部类与匿名类 5.5.1 内部类 5.5.2 方法中的内部类及匿名类

第6章 异常处理

6.1 异常处理 6.1.1 异常的概念 6.1.2 捕获和处理异常 6.1.3 应用举例

抛出异常 捕获异常 throw异常对象; 语句组 }catch(异常类名 异常形式参数名){ 异常处理语句组; }finally{ } try{ 语句组 }catch(异常类名 异常形式参数名){ 异常处理语句组; }finally{ } 其中,catch语句可以有一个或多个,而且至少要有一个catch语句或finally语句

6.2 创建用户自定义异常类 6.2.1 自定义异常类 6.2.2 应用举例

第7章 工具类及常用算法

7.1 Java语言基础类 7.1.1 Java基础类库 7.1.2 Object类 7.1.3 基本数据类型的包装类 7.1.4 Math类 7.1.5 System类 7. 2 字符串 7.2.1 String类 7.2.2 StringBuffer类 7.2.3 StringTokenizer类

7.3 集合类 7.3.1 集合与Collection API 7.3.2 Set接口及HashSet类 7.3.3 List接口及ArrayList,Vector类 7.3.4 Iterator及Enumeration 7.3.5 Map接口及Hashtable类 7.4 向量、堆栈、队列 7.4.1 Vector向量 7.4.2 Stack堆栈 7.4.3 LinkedList及队列

7.5 排序与查找 7.5.1 Arrays类 7.5.2 Collections类 7.5.3 冒泡排序 7.5.4 选择排序 7.5.5 快速排序

7.6 遍试、迭代、递归及回溯 7.6.1 遍试 for()中用if 7.6.2 迭代 while()中用a=f(a) 7.6.3 递归 f(n)中调用f(n-1) 7.6.4 回溯

7.7 与集合类相关的Java新特性 7.7.1 泛型 7.7.2 增强的for语句 7.7.3 装包与拆包

第8章 Java的多线程

8.1 线程及其创建 8.1.1 Java中的线程 8.1.2 创建线程对象的两种方法 8.1.3 多线程 8.1.4 应用举例 8.2 线程的调度 8.2.1 线程的状态与生命周期 8.2.2 线程调度与优先级 8.2.3 对线程的基本控制 8.2.4 一个实用的Timer类 8.3 线程的同步与共享 8.3.1 synchronized关键字 8.3.2 线程间的同步控制

第9章 输入、输出流及文件处理

字节流与字符流 字 节 流 字 符 流 输 入 InputStream Reader 输 出 OutputStream Writer

9.1.2 节点流和处理流 按照流是否直接与特定的地方(如磁盘、内存、设备等)相连,分为节点流与处理流两类。 9.1.2 节点流和处理流 按照流是否直接与特定的地方(如磁盘、内存、设备等)相连,分为节点流与处理流两类。 (1)节点流(Node Stream) 可以从或向一个特定的地方(节点)读写数据。如文件流FileReader。 (2)处理流(Processing Stream) 是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读、写功能。处理流又称为过滤流,如缓冲处理流BufferedReader。

常用的节点流 节 点 类 型 字 节 流 字 符 流 File 文件 FileInputStream FileOutputStream FileReader FileWriter Memory Array 内存数组 ByteArrayInputStream ByteArrayOutputStream CharArrayReader CharArrayWriter Memory String 字符串 StringReader StringWriter Pipe 管道 PipedInputStream PipedOutputStream PipedReader PipedWriter

常用的处理流 处 理 类 型 字 节 流 字 符 流 Buffering 缓冲 BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter Filtering 过滤 FilterInputStream FilterOutputStream FilterReader FilterWriter Converting between bytes and character 字节流转为字符流 InputStreamReader OutputStreamWriter Object Serialization 对象序列化 ObjectInputStream ObjectOutputStream Data conversion 基本数据类型转化 DataInputStream DataOutputStream Counting 行号处理 LineNumberInputStream LineNumberReader Peeking ahead 可回退流 PushbackInputStream PushbackReader Pinting 可显示处理 PrintStream PrintWriter

9.1 流式输入与输出 9.1.1 字节流与字符流 9.1.2 节点流和处理流 9.1.3 标准输入和标准输出 9.1.4 应用举例 9.2 文件及目录 9.2.1 文件与目录管理 9.2.2 文件输入与输出流 9.2.3 RandomAccessFile类 9. 3 基于文本的应用 9.3.1 Java Application命令行参数 9.3.2 环境参数 9.3.3 处理Deprecated的API 9.3.4 正则表达式

第10章 图形用户界面

设计和实现图形用户界面的工作主要有以下几点。 (1)创建组件(Component): (2)指定布局(Layout): 创建组成界面的各种元素,如按钮、文本框等。 (2)指定布局(Layout): 根据具体需要排列它们的位置关系。 (3)响应事件(Event): 定义图形用户界面的事件和各界面元素对不同事件的响应, 从而实现图形用户界面与用户的交互功能。

10.2 布局管理 Java.awt包中共定义了五种布局管理器,每个布局管理器对应一种布局策略,分别是 FlowLayout 10.2 布局管理 Java.awt包中共定义了五种布局管理器,每个布局管理器对应一种布局策略,分别是 FlowLayout BorderLayout CardLayout GridLayout GridBagLayout。

默认布局管理器 BorderLayout FlowLayout Component Container Window Panel Frame Dialog Applet BorderLayout FlowLayout

事件处理器AWTEventListener 事件处理器(Event handler)是对事件进行处理的程序,在编程时通过实现事件监听器(Event Listener)来实现对事件的处理。 事件监听器是一些事件的接口,这些接口是 java.awt.AWTEventListener的子类。接口中含有相关的方法,如:MouseMotionListener是对鼠标移动事件的处理的接口,它含有两个重要的方法: void mouseDragged(MouseEvent e);// 处理鼠标拖动的方法 void mouseMoved(MouseEvent e);// 处理鼠标移动的方法 在这些方法中,都带一个事件对象作为参数,如MouseMotionListener的两个方法都带MouseEvent参数。程序中可以根据这个参数可以得到有关事件的详细信息。

2.事件处理器WTEventListener 事件处理器(Event handler)是对事件进行处理的程序,在编程时通过实现事件监听器(Event Listener)来实现对事件的处理。 事件监听器是一些事件的接口,这些接口是 java.awt.AWTEventListener的子类。接口中含有相关的方法,如:MouseMotionListener是对鼠标移动事件的处理的接口,它含有两个重要的方法: void mouseDragged(MouseEvent e);// 处理鼠标拖动的方法 void mouseMoved(MouseEvent e);// 处理鼠标移动的方法 在这些方法中,都带一个事件对象作为参数,如MouseMotionListener的两个方法都带MouseEvent参数。程序中可以根据这个参数可以得到有关事件的详细信息。

第11章 网络、多媒体和数据库编程

11.1 Java网络编程Socket 11.1.1 使用URL 11.1.2 用Java实现底层网络通信 11.1.3 实现多线程服务器程序 11.1.4 Java的Email编程 11.2 多媒体编程 JMF 11.2.1 在Applet中获取声音与图像 11.2.2 Java图像编程 11.2.3 Java声音编程 11.3 Java数据库编程 Connection Statement ResultSet 11.3.1 Java访问数据库的基本步骤 11.3.2 使用JTable显示数据表 11.4 J2EE及J2ME简介 11.4.1 J2EE简介 11.4.2 J2ME简介