第1章 Java语言概述
1.1 Java语言诞生背景
1.2 Java简介
1.3 Java语言的特点
1.4 Java的运行机制
1.5 JDK安装
1.5.1 下载JDK
1.5.2 安装JDK
1.5.3 Windows系统下配置和测试JDK
1.6 Java SE 8的新特性
1.7 Java程序开发过程
1.8 Java开发工具Eclipse
1.8.1 Eclipse简介
1.8.2 Eclipse的安装与启动
1.8.3 Eclipse编写Java程序的流程
1.9 编程风格
1.10 Java API简介
1.10.1 下载Java API
1.10.2 在线查看API
小结
习题
第2章 Java语言的基本语法
2.1 关键字和标识符
2.1.1 Unicode字符集
2.1.2 关键字
2.1.3 标识符
2.2 常量与变量
2.2.1 常量的概念及使用要点
2.2.2 变量的概念及使用要点
2.3 数据类型
2.3.1 基本数据类型
实例:使用基本数据类型定义员工的年龄
实例:为boolean型变量赋值并输出
2.3.2 引用数据类型
实例:使用引用类型定义员工的姓名
2.3.3 基本类型与引用类型的区别
实例:基本数据类型与引用数据类型
2.3.4 数据类型之间的相互转换
2.4 数组
2.4.1 声明数组
2.4.2 创建数组
2.4.3 初始化数组
2.4.4 数组长度
2.4.5 使用数组元素
小结
习题
第1章 Java语言概述
1.1 Java语言诞生背景
1.2 Java简介
1.3 Java语言的特点
1.4 Java的运行机制
1.5 JDK安装
1.5.1 下载JDK
1.5.2 安装JDK
1.5.3 Windows系统下配置和测试JDK
1.6 Java SE 8的新特性
1.7 Java程序开发过程
1.8 Java开发工具Eclipse
1.8.1 Eclipse简介
1.8.2 Eclipse的安装与启动
1.8.3 Eclipse编写Java程序的流程
1.9 编程风格
1.10 Java API简介
1.10.1 下载Java API
1.10.2 在线查看API
小结
习题
第2章 Java语言的基本语法
2.1 关键字和标识符
2.1.1 Unicode字符集
2.1.2 关键字
2.1.3 标识符
2.2 常量与变量
2.2.1 常量的概念及使用要点
2.2.2 变量的概念及使用要点
2.3 数据类型
2.3.1 基本数据类型
实例:使用基本数据类型定义员工的年龄
实例:为boolean型变量赋值并输出
2.3.2 引用数据类型
实例:使用引用类型定义员工的姓名
2.3.3 基本类型与引用类型的区别
实例:基本数据类型与引用数据类型
2.3.4 数据类型之间的相互转换
2.4 数组
2.4.1 声明数组
2.4.2 创建数组
2.4.3 初始化数组
2.4.4 数组长度
2.4.5 使用数组元素
小结
习题
第3章 运算符与流程控制
3.1 运算符
3.1.1 赋值运算符
3.1.2 算术运算符
3.1.3 关系运算符
3.1.4 逻辑运算符
3.1.5 位运算符
实例:逻辑位运算符的运算规则
实例:移位运算符的运算规则
3.1.6 对象运算符
3.1.7 其他运算符
3.1.8 运算符的优先级别及结合性
3.2 if语句
3.2.1 简单的if条件语句
实例:使用if语句求出c的最终结果
实例:在腾宇超市管理系统中判断用户添加的信息是否完整
3.2.2 “if...else”条件语句
实例:用“if...else”语句判断69与29的大小
实例:在腾宇超市管理系统的显示采购订货窗体中,将用户选择的采购订货信息保存在文本文件中
3.2.3 “if...else if”多分支语句
3.2.4 if语句的嵌套
实例:用“if...else”嵌套实现:判断英语成绩得78分是处在什么阶段
3.3 switch多分支语句
实例:用switch语句判断,在10、20、30之间是否有符合5乘以7的结果
3.4 if语句和switch语句的区别
3.5 循环语句
3.5.1 while循环语句
实例:计算1~99的整数和
3.5.2 “do...while”循环语句
实例:计算1~100的整数和
3.5.3 for循环语句
实例:用for循环语句实现打印1~10的所有整数
实例:在人员管理窗体中,查询所有部门信息,并显示
3.5.4 for-each风格的for循环
3.5.5 循环的嵌套
实例:打印九九乘法表
实例:求100以内能被3和7整除的数
3.6 跳转语句
3.6.1 break跳转语句
实例:求10以内的素数
3.6.2 continue跳转语句
实例:求100以内能被9整除的数
3.6.3 return跳转语句
实例:以List形式返回指定部门员工信息,并显示
小结
习题
第4章 面向对象基础
4.1 面向对象程序设计
4.1.1 面向对象程序设计概述
4.1.2 面向对象程序设计的特点
4.2 类
4.2.1 定义类
4.2.2 成员变量和局部变量
4.2.3 成员方法
实例:实现两数相加
实例:按部门名称查询部门编号
4.2.4 注意事项
4.2.5 类的UML图
4.3 构造方法与对象
4.3.1 构造方法的概念及用途
实例:定义Apple类,在该类的构造方法中初始化成员变量
4.3.2 对象概述
实例:定义一个类,创建该类的对象,同时改变对象的成员变量的值,并调用该对象的成员方法
实例:创建User对象并赋值
4.4 类与程序的结构关系
4.5 参数传值
4.5.1 传 值 机 制
4.5.2 基本数据类型的参数传值
实例:在Point类中定义一个add方法,并向add方法传递两个参数
4.5.3 引用类型参数的传值
实例:创建Car类和fuelTank类,实现引用类型参数的传值
4.6 对象的组合
4.6.1 组合与复用
实例:计算圆锥的体积
4.6.2 类的关联关系和依赖
关系的UML图
4.7 实例方法与类方法
4.7.1 实例方法与类方法的定义
4.7.2 实例方法和类方法的区别
4.8 this关键字
实例:创建类文件,并将方法的参数值赋予类中成员变量
实例:在项目中创建类文件,定义方法,并通过this关键字返回
实例:在类中定义成员变量,并在成员方法中定义局部变量,用this关键字在成员方法中使用成员变量
实例:使用this关键字为User类的属性赋值
4.9 包
4.9.1 包的概念
4.9.2 创建包
实例:为腾宇超市系统各部分功能创建包
4.9.3 使用包中的类
4.10 import语句
4.10.1 类的两种访问方法
4.10.2 引入类库中的类
实例:在腾宇超市管理系统上显示时钟
4.11 访问权限
小结
习题
第5章 继承与多态
5.1 继承简介
5.1.1 继承的概念
5.1.2 子类的设计
实例:实现带背景的窗体
5.1.3 继承的使用原则
实例:定义一个动物类Animal及它的子类Bird
5.1.4 使用super关键字
5.2 子类的继承
实例:定义三个类实现子类继承
5.3 多态
5.3.1 方法的重载
实例:在Calculate类中定义两个名称为getArea()的方法和两个名称为draw()的方法
5.3.2 避免重载出现的歧义
5.3.3 方法的覆盖
实例:定义类Animal及它的子类,然后在Zoo类中分别创建各个子类对象,并覆盖父类
方法
5.3.4 向上转型
实例:创建抽象的动物类,实现向上转型
5.4 抽象类
5.4.1 抽象类和抽象方法
实例:定义类Fruit,在该类中定义一个抽象方法,同时在其子类中实现该抽象方法
5.4.2 抽象类和抽象方法的规则
5.4.3 抽象类的作用
5.5 final修饰符
5.5.1 final变量
5.5.2 final类
实例:创建一个名称为Final-Demo的final类
5.5.3 final方法
5.6 内 部 类
5.6.1 成员内部类
实例:创建成员内部类的实例对象,并调用该对象的print()方法
5.6.2 局部内部类
实例:创建局部内部类的实例对象,并调用price()方法输出单价信息
5.6.3 静态内部类
实例:创建静态内部类的实例对象,并执行introduction()方法
5.6.4 匿名内部类
实例:创建匿名内部类,编写print()方法,并打印一条信息
小结
习题
第6章 接口
6.1 接口简介
6.2 定义接口
实例:定义一个Calculate接口,在该接口中定义一个常量PI和两个方法
6.3 接口的继承
6.4 接口的实现
实例:定义两个接口,并且在这两个接口中声明一个同名的常量和一个同名的方法,然后再定义一个同时实现这两个接口的类
实例:在窗体中实现滚动微调处理器
6.5 接口与抽象类
6.6 接口的UML图
6.7 接口回调
实例:使用接口回调技术
6.8 接口与多态
实例:使用Dog类和Cat类都实现了接口Animals接口
6.9 接口参 数
实例:实现接口的回调参数
6.10 面向接口编程
小结
习题
第7章 异常处理
7.1 异常
7.2 异常处理
7.2.1 使用“try...catch”语句
实例:创建修改采购订货信息方法
7.2.2 finally子句的用法
实例:代码出现异常仍然执行finally
7.2.3 使用throws关键字抛出异常
实例:在dofile()方法声明中抛出一个IOException异常
7.2.4 使用throw关键字
实例:创建People类,抛出异常,并捕获异常进行处理
7.2.5 使用异常处理语句的注意事项
7.3 异常类
7.3.1 Error类
7.3.2 Exception类
7.4 自定义异常
实例:自定义一个异常类
7.5 异常的使用原则
小结
习题
第8章 常用的实用类
8.1 String类
8.1.1 创建字符串对象
8.1.2 连接字符串
实例:通过运算符“+”连接字符串
实例:通过运算符“+”连接查询字符串
8.1.3 字符串操作
8.1.4 格式化字符串
8.1.5 对象的字符串表示
实例:继承Object类的子类重写toString()方法
8.2 日期的格式化
8.2.1 Date类
8.2.2 格式化日期和时间
8.3 Scanner类
实例:实现在控制台上输入姓名、年龄、地址
8.4 Math和Random类
8.5 数字格式化
8.5.1 Formatter类
8.5.2 格式化整数
8.5.3 格式化浮点数
8.6 StringBuffer类
8.6.1 StringBuffer对象的创建
8.6.2 StringBuffer类的常用方法
8.7 包装类
8.7.1 Integer
实例:以int型变量作为参数创建Integer对象
实例:以String型变量作为参数创建Integer对象
实例:创建类Summation,定义String数组,将元素转化成int型,并相加
8.7.2 Boolean
实例:在类GetBoolean中以不同的构造方法创建Boolean对象,并调用booleanValue()方法,然后转换为boolean数据输出
实例:将String类型中的元素转换成int型,并将各元素相加
实例:将字符变量以二进制、十六进制和八进制形式输出
实例:在主方法中将Integer类的常量值输出
8.7.3 Byte
实例:以String型变量作为参数,创建Byte对象
8.7.4 Character
实例:在类UpperOrLower的主方法中创建Character类的对象,并判断字符的大小写状态
8.7.5 Double
8.7.6 Number
小结
习题
第9章 集合
9.1 集合中主要接口的概述
9.2 Collection接口
9.2.1 addAll()方法
实例:使用addAll()方法向集合中添加对象
9.2.2 removeAll()方法
实例:使用removeAll()方法从集合中移除对象
9.2.3 retainAll()方法
实例:实现仅保留list集合中同时包含在list2集合中的对象
9.2.4 containsAll()方法
实例:使用containsAll ()方法查看在集合list中是否包含集合list2中的所有对象
9.2.5 toArray()方法
实例:使用toArray ()方法获得一个包含所有对象的指定类型的数组
9.3 List集合
9.3.1 List的用法
实例:测试add(int index, Object obj)方法和set(int index, Object obj)方法的区别
实例:测试indexOf(Object obj)方法和lastIndexOf(Object obj)方法的区别
实例:使用subList()方法
9.3.2 使用ArrayList类
实例:编写一个模仿经常需要随机访问集合中对象的例子
实例:使用List集合根据订单号查询订货信息
9.3.3 使用LinkedList类
实例:使用LinkedList类
9.4 Set集合
9.4.1 使用HashSet类
实例:使用HashSet类
9.4.2 使用TreeSet类
实例:使用TreeSet类
实例:自定义比较器
9.5 Map集合
9.5.1 Map的用法
实例:方法get()和containsKey()的区别
9.5.2 使用HashMap类
实例:利用HashMap类实现Map集合
9.5.3 使用TreeMap类
实例:使用TreeMap类
小结
习题
第10章 Java输入与输出
10.1 File类
实例:在C盘存在一个“Example1.txt”文件,使用File类获取文件信息
10.2 流
10.2.1 流的基本概念
10.2.2 输入输出流
10.3 字节流
10.3.1 InputStream类与OutputStream类
10.3.2 FileInputStream类与FileOutputStream类
实例:读取文本文件中保存的要修改的采购订货信息的编号
实例:将用户选择的采购订货信息的编号写入文本文件中
10.4 字符流
10.4.1 Reader类与Writer类
10.4.2 InputStreamReader类与OutputStreamWriter类
实例:创建两个File类的对象,分别判断两个文件是否存在
10.4.3 FileReader类与FileWriter类
10.4.4 BufferedReader类与BufferedWriter类
实例:使用BufferedReader类和BufferedWriter类实现文件复制
10.4.5 PrintStream类与PrintWriter类
实例:随机输出100以内的5个数,并把这5个数保存到文件中
10.4.6 System.in获取用户输入
实例:实现键盘输入,把输入的内容存储到文件中
10.5 RandomAccessFile类
实例:创建int型数组,然后写入到文件中,最后按倒序读出这些数据
10.6 过滤器流
10.7 对象序列化(Object Serialization)
10.7.1 ObjectInput与ObjectOutput
10.7.2 ObjectInputStream与ObjectOutputStream
实例:在C盘存在文件“Exam-ple10.txt”。实现用户密码的修改
小结
习题
第11章 Swing程序设计
11.1 Swing概述
11.2 创建窗体
实例:编写创建窗体类
11.3 常用布局管理器
11.3.1 不使用布局管理器
实例:在不使用任何布局管理器的情况下实现登录窗口
11.3.2 FlowLayout布局管理器
实例:流布局管理器示例
11.3.3 BorderLayout布局管理器
实例:边界布局管理器示例
11.3.4 GridLayout布局管理器
实例:使用网格布局管理器创建功能按钮面板
11.4 常用面板
11.4.1 JPanel面板
实例:实现一个带有显示器的计算器界面
实例:为拼图游戏创建面板
11.4.2 JScrollPane面板
实例:应用滚动面板
11.5 常用组件
11.5.1 JLabel(标签)组件
实例:在修改订货信息窗体中,设置文本框中的内容
11.5.2 JButton(按钮)组件
实例:实现一个典型的按钮
11.5.3 JRadioButton(单选按钮)组件
实例:用来填写性别的单选按钮组
11.5.4 JCheckBox(复选框)组件
实例:用来填写爱好的复选框
实例:使用网格布局管理器创建功能按钮面板
11.5.5 JComboBox(选择框)组件
实例:创建用来填写学历的选择框
11.5.6 JList(列表框)组件
实例:用来填写爱好的列表框
11.5.7 JTextField(文本框)组件
实例:创建用来填写姓名的文本框
实例:在基本档案窗体中实现文本框功能
11.5.8 JPasswordField(密码框)组件
实例:创建用来填写密码的密码框
实例:在登录的时候实现密码框功能
11.5.9 JTextArea(文本域)组件
实例:实现一个文本域,文本域的列数为15,行数为3,并且文本自动换行
11.6 常用事件处理
11.6.1 动作事件处理
实例:编写一个用来演示由按钮触发动作事件的示例
实例:在“部门”下拉列表框中添加监听事件
11.6.2 焦点事件处理
实例:编写一个用来演示由文本框触发焦点事件的示例
11.6.3 鼠标事件处理
实例:编写一个用来演示鼠标事件的示例
11.6.4 键盘事件处理
实例:编写一个用来演示键盘事件的示例
11.7 拼图游戏
11.7.1 游戏简介
11.7.2 设计思路
11.7.3 开发步骤
小结
习题
第12章 Swing高级应用
12.1 表格
12.1.1 创建表格
实例:在窗体中创建可以滚动的表格
12.1.2 定义表格
实例:在窗体中定义表格
12.1.3 操作表格
实例:在窗体的表格中添加按钮
12.1.4 利用表格模型创建表格
实例:利用表格模型创建表格,并使用表格排序器
12.1.5 维护表格模型
实例:维护表格模型
12.2 树
12.2.1 简单的树
实例:创建简单的树
12.2.2 处理选中节点事件
实例:处理选中节点事件
12.2.3 遍历树节点
实例:遍历树节点
12.2.4 处理展开节点事件
实例:处理展开节点事件
12.3 组件面板
12.3.1 分割面板
实例:设置分割面板的相关属性
12.3.2 选项卡面板
实例:设置选项卡面板的相关属性
12.4 菜单
12.4.1 创建菜单栏
实例:创建菜单栏
12.4.2 创建弹出式菜单
实例:创建弹出式菜单
12.4.3 定制个性化菜单
实例:定制个性化菜单
12.5 工具栏
实例:创建工具栏
12.6 进度条
实例:使用进度条
小结
习题
第13章 多线程
13.1 线程概述
13.2 线程的创建
13.2.1 线程的创建方式
13.2.2 继承Thread类
实例:创建SimpleThread线程类,该类将创建的两个线程同时在控制台输出信息
13.2.3 实现Runnable接口
实例:创建SimpleRunnable类,该类实现了Runnable接口,并通过run()方法实现每间隔0.5秒在控制台输出一个“*”字符,直到输出15个“*”字符
13.3 线程的生命周期
13.4 线程的优先级
13.5 线程的控制
13.5.1 线程的启动
实例:使用多线程技术实现用户进入聊天室
13.5.2 线程的挂起
13.5.3 线程状态检查
13.5.4 结束线程
实例:在网络聊天中结束聊天功能
13.5.5 后台线程
13.6 线程的同步
实例:在项目中创建Thread-SafeTest类,该类实现了Runnable接口,主要实现模拟火车站售票系统的功能
实例:创建两个线程同时调用PrintClass类的printch()方法打印字符,把printch()方法修饰为同步和非同步方法
实例:创建两个线程同时调用PrintClass类的printch()方法打印字符,把printch()方法中的代码修饰为同步和非同步代码块
13.7 线程通信
实例:创建线程实现上文中水塘的进水和排水
实例:使用多线程技术实现消息的不间断收发
13.8 多线程产生死锁
小结
习题
第14章 网络程序设计
14.1 基础知识
14.1.1 TCP
14.1.2 UDP
14.2 IP地址封装
实例:测试IP“192.168.1.100”至“192.168.1.150”范围内的所有可访问的主机的名称
实例:在网络聊天中实现IP地址的获取
14.3 套接字
14.3.1 服务器端套接字
14.3.2 客户端套接字
实例:检测本地计算机中被使用的端口,端口的检测范围是1~256
实例:实例化客户器端套接字
实例:创建服务器Server程序和客户端Client程序,并实现简单的Socket通信程序
14.4 数据报
14.4.1 DatagramPacket
14.4.2 DatagramSocket
实例:实现简单的UDP通信
14.5 网络聊天程序开发
小结
习题
第15章 JDBC数据库编程
15.1 JDBC概述
15.1.1 JDBC-ODBC桥技术介绍
15.1.2 JDBC技术介绍
15.1.3 JDBC驱动类型
15.2 JDBC中的常用类和接口
15.2.1 Driver接口
15.2.2 DriverManager类
15.2.3 Connection接口
15.2.4 Statement接口
15.2.5 PreparedStatement接口
15.2.6 CallableStatement接口
15.2.7 ResultSet接口
15.3 连接数据库
15.3.1 加载JDBC驱动程序
实例:加载SQL Server 2008数据库驱动程序到JVM中
实例:为滕宇超市系统加载数据库驱动
15.3.2 创建数据库连接
实例:与数据库建立连接的典型代码
实例:创建滕宇超市系统与数据库连接
15.3.3 执行SQL语句
实例:在仓库入库窗体中,修改仓库入库信息
15.3.4 获得查询结果
15.3.5 关闭连接
15.4 操作数据库
15.4.1 添加数据
实例:通过Statement实例执行静态INSERT语句添加单条记录
实例:通过PreparedState-ment实例执行动态INSERT语句批量添加记录
实例:通过CallableStatement实例执行存储过程批量添加记录
实例:通过PreparedStatement实例执行动态INSERT语句添加单条记录
实例:通过CallableStatement实例执行存储过程添加单条记录
实例:在添加员工窗体中实现添加功能
15.4.2 查询数据
实例:通过Statement实例执行静态SELECT语句查询记录
实例:通过PreparedStatement实例执行动态SELECT语句查询记录
实例:根据客户地址查询信息
15.4.3 修改数据
实例:通过Statement实例每次执行一条UPDATE语句
实例:通过PreparedState-ment实例一次执行多条UPDATE语句
实例:在仓库出库窗体中实现对信息的修改
15.4.4 删除数据
实例:通过Statement实例每次执行一条DELETE语句
实例:通过PreparedStatement实例一次执行多条DELETE语句
实例:在仓库出库窗体中实现对信息的删除
15.5 应用JDBC事务
实例:应用JDBC事务
小结
习题
第16章 综合案例——腾宇超市管理系统
16.1 项目设计思路
16.1.1 功能阐述
16.1.2 系统预览
16.1.3 功能结构
16.1.4 文件组织结构
16.2 数据库设计
16.2.1 数据库设计
16.2.2 数据表设计
16.3 公共类设计
16.3.1 连接数据库
16.3.2 获取当前系统时间类
16.4 登录模块设计
16.4.1 登录模块概述
16.4.2 实现带背景的窗体
16.4.3 登录模块实现过程
16.5 主窗体设计
16.5.1 主窗体概述
16.5.2 平移面板控件
16.5.3 主窗体实现过程
16.6 采购订货模块设计
16.6.1 采购订货模块概述
16.6.2 在表格中添加按钮
16.6.3 添加采购订货信息实现过程
16.6.4 搜索采购订货信息实现过程
16.6.5 修改采购订货信息实现过程
16.6.6 删除采购订货信息实现过程
16.7 人员管理模块设计
16.7.1 人员管理模块概述
16.7.2 使用触发器级联删除数据
16.7.3 显示查询条件实现过程
16.7.4 显示员工基本信息实现过程
16.7.5 添加员工信息实现过程
16.7.6 删除员工信息实现过程
16.8 在Eclipse中实现程序打包
小结
附录A 上机实验
实验1 Java基础
实验目的
实验内容
实验2 程序流程控制
实验目的
实验内容
实验3 类的继承
实验目的
实验内容
实验4 使用集合类
实验目的
实验内容
实验5 数据流
实验目的
实验内容
实验6 线程控制
实验目的
实验内容
实验7 异常处理
实验目的
实验内容
实验8 Swing程序设计
实验目的
实验内容
实验9 网络程序设计
实验目的
实验内容
实验10 通过JDBC方式操作数据库
实验目的
实验内容
实验11 计算器
实验目的
实验内容
实验12 日志簿
实验目的
实验内容