本书基于Java 17以项目教学的方式,围绕一个进销存管理系统综合实战案例循序渐进地讲解Java程序设计的基本原理和具体应用的方法与技巧。全书分为10个项目,具体内容为:Java开发环境和工具、面向对象编程基础、面向对象核心技术、异常处理、图形用户界面设计、GUI事件处理、I/O操作、网络编程基础、多线程技术、访问数据库等内容。本书附有电子资料,内容为书中所有实例的源文件及相关资源以及实例操作过程录屏动画,供读者学习中使用。
苏绍培,男,副教授,现任四川科技职业学院互联网+学院教学院长。参加工作以来一直从事教学与管理工作,曾讲授课程:C语言程序设计、PHP编程、C#.NET编程、移动开发、HTML5、CSS3样式、javaScript编程、JAVA编程、二维动画、Photoshop图像处理、 MS-SQL / My-SQL 等数据库、计算机网络、Linux、服务器配置管理、操作系统、数字媒体AE、电子商务等课程的讲授与应用开发。
项目一 Java开发环境和工具 1
任务一 初识Java开发 2
任务引入 2
知识准备 2
一、Java的特性与应用领域 2
二、Java开发的学习路线 3
三、认识、安装JDK 4
四、配置环境变量 7
五、Java程序的开发流程 8
六、使用Java API文档 9
任务二 使用Eclipse开发Java程序 10
任务引入 10
知识准备 10
一、安装配置Eclipse 10
二、开发Java程序 12
三、导入项目文件 15
四、为项目添加常用类库 16
五、程序调试 17
项目总结 18
项目实战 18
项目二 面向对象编程基础 20
任务一 类与对象 21
任务引入 21
知识准备 21
一、面向对象简介 21
二、类的声明与定义 22
三、构造方法 23
四、对象的创建及使用 25
五、调用本类结构 27
六、定义全局属性和方法 28
任务二 使用数组 30
任务引入 30
知识准备 31
一、创建数组 31
二、初始化数组 33
三、遍历数组 33
四、使用Arrays工具类 34
任务三 处理字符串 37
任务引入 37
知识准备 37
一、创建String类的字符串 37
二、String类的常用操作 38
三、正则表达式 42
四、创建StringBuffer对象 44
五、StringBuffer类的常用方法 45
项目总结 48
项目实战 48
项目三 面向对象编程核心技术 52
任务一 继承与多态 53
任务引入 53
知识准备 53
一、实现继承 53
二、方法重写 54
三、操作隐藏的父类成员 55
四、使用final关键字 57
五、使用方法重载实现多态 57
六、对象向上转型 59
任务二 抽象类与接口 62
任务引入 62
知识准备 62
一、抽象类与抽象方法 62
二、声明与实现接口 63
任务三 内部类 65
任务引入 65
知识准备 65
一、成员内部类 66
二、局部内部类 67
三、静态内部类 68
四、匿名内部类 69
五、Lambda表达式 70
项目总结 72
项目实战 72
项目四 异常处理 77
任务一 认识异常 78
任务引入 78
知识准备 78
一、异常的类型 78
二、常见的异常类 80
三、异常处理流程 81
四、Exception类的常用方法 82
任务二 处理异常 83
任务引入 83
知识准备 83
一、处理编译异常 83
二、在方法中抛出异常 84
三、自定义异常类 86
项目总结 89
项目实战 89
项目五 图形用户界面设计 94
任务一 初识Java Swing 95
任务引入 95
知识准备 95
一、Swing概述 95
二、容器 96
三、组件 96
任务二 创建常用容器与布局 97
任务引入 97
知识准备 97
一、JFrame窗口 97
二、JDialog对话框 99
三、JPanel面板 100
四、JScrollPane滚动面板 100
五、布局管理器 100
任务三 使用常用组件 104
任务引入 104
知识准备 104
一、标签组件 104
二、文本组件 106
三、按钮组件 108
四、列表组件 111
项目总结 115
项目实战 116
项目六 GUI事件处理 122
任务一 认识事件处理机制 123
任务引入 123
知识准备 123
一、事件处理模式 123
二、事件类 124
任务二 常用事件 125
任务引入 125
知识准备 125
一、窗口事件(WindowEvent) 125
二、事件适配器(Adapter) 127
三、鼠标事件(MouseEvent) 128
四、键盘事件(KeyEvent) 130
五、动作事件(ActionEvent) 132
六、选项事件(ItemEvent) 134
七、焦点事件(FocusEvent) 139
八、文档事件(DocumentEvent) 141
项目总结 144
项目实战 144
项目七 I/O操作 151
任务一 使用File类操作文件和目录 152
任务引入 152
知识准备 152
一、创建File对象 152
二、获取文件属性 153
三、创建和删除文件 155
四、创建和删除文件夹 157
五、遍历目录 158
任务二 读/写文件内容 160
任务引入 160
知识准备 160
一、流的概念 160
二、文件字节流 161
三、文件字符流 163
四、缓冲数据流 166
五、随机流 167
项目总结 170
项目实战 170
项目八 网络编程基础 174
任务一 网络程序设计基础 175
任务引入 175
知识准备 175
一、网络应用程序设计模式 175
二、常用的网络协议 175
三、IP地址和端口 176
任务二 实现TCP网络程序 177
任务引入 177
知识准备 178
一、实现服务器端程序 178
二、实现客户端程序 179
三、数据交互通信 180
任务三 实现UDP网络程序 183
任务引入 183
知识准备 183
一、打包发送数据报 183
二、接收数据报 184
项目总结 189
项目实战 190
项目九 多线程技术 202
任务一 实现Java多线程 203
任务引入 203
知识准备 203
一、进程与线程 203
二、线程的状态 203
三、继承Thread类创建多线程 204
四、实现Runnable接口创建多线程 206
任务二 应用多线程 208
任务引入 208
知识准备 208
一、线程的常用方法 208
二、实现线程同步 210
三、协调同步的线程 212
四、GUI线程 215
项目总结 217
项目实战 217
项目十 访问数据库 221
任务一 SQL语法基础 222
任务引入 222
知识准备 222
一、select语句 222
二、insert语句 223
三、update语句 223
四、delete语句 224
任务二 使用JDBC访问数据库 224
任务引入 224
知识准备 225
一、JDBC概述 225
二、部署JDBC驱动程序 225
三、连接数据库 227
四、操作数据库 229
项目总结 236
项目实战 237