编者秉持工程教育理念,以卓越工程师计划和应用型本科教育要求为指导,将激发学生学习兴趣和培养实际开发能力作为首要目标。在内容选择上,本书注重实用性和时效性,剔除已显陈旧的技术和概念。对于核心知识点,编者精心挑选了典型实例程序,并配以详尽注释。本书采用项目的方式介绍Java的理论知识与使用技巧,包括10个项目,内容涵盖Java编程基础、Java面向对象程序设计、类的深入解析、数组和字符串、异常处理、输入/输出、图形用户界面、多线程、网络编程等。本书可作为高等学校和职业院校理工类专业学习Java程序设计的教材,也可供对Java编程感兴趣的人员参考。
林胜青,副教授,在读博士,福州理工学院计算机科学与技术专业带头人。2017年被评为福州市教育系统先进工作者。发表学术论文十多篇,被SCI、Scopus、CSCD、北大核心、中国科学引文索引(CSCI)等收录多篇,获专利、实用新型和软著多项。
项目一 认识Java / 1
任务一 Java的产生、发展与特点 / 1
一、Java的产生与发展 / 1
二、Java的特点 / 3
任务二 Java的开发工具与开发环境 / 6
一、Java运行环境与Java开发包 / 6
二、Eclipse / 12
任务三 Java程序的基本结构 / 16
项目小结 / 20
思考与练习 / 20
项目二 Java编程基础 / 22
任务一 标识符与分割符 / 22
一、Java的标识符 / 22
二、Java的分隔符 / 23
三、Java的特殊标识符 / 23
任务二 数据类型 / 24
一、基本数据类型 / 24
二、复合数据类型 / 25
三、数据类型转换 / 25
四、各种数据类型数据的表示方法 / 26
任务三 变量和常量 / 28
一、变量 / 28
二、常量 / 29
任务四 运算符 / 30
一、算术运算符 / 30
二、关系运算符 / 31
三、逻辑运算符 / 32
四、赋值运算符 / 34
五、条件运算符 / 34
六、位运算符 / 34
七、运算符的优先级与结合方向 / 36
任务五 流程控制语句 / 37
一、顺序语句 / 37
二、选择语句 / 37
三、循环语句 / 40
四、跳转语句 / 45
任务六 程序注释 / 47
项目小结 / 47
思考与练习 / 47
项目三 Java面向对象程序设计 / 49
任务一 面向对象程序设计的基本概念 / 49
一、对象 / 49
二、类 / 49
三、封装 / 50
四、继承 / 50
五、多态 / 50
任务二 类的使用方法 / 51
一、类声明 / 51
二、成员变量与静态变量 / 51
三、成员方法的声明与实现 / 53
四、构造方法 / 55
任务三 对象的创建与使用方法 / 56
一、对象的创建 / 56
二、对象的使用 / 58
三、Java的垃圾回收机制—对象的清除 / 60
任务四 包的创建与使用方法 / 61
一、包的创建、声明与使用 / 62
二、Java的常用包 / 65
综合实训 模拟贷款 / 65
项目小结 / 66
思考与练习 / 67
项目四 类的深入解析 / 69
任务一 类的继承/ 69
一、子类的定义 / 69
二、子类的构造方法 / 70
三、类成员的隐藏与重载 / 71
四、构造方法的调用 / 75
任务二 类的多态 / 76
一、多态概念 / 76
二、方法重载 / 77
三、构造方法的重载 / 78
四、数据类型转换 / 79
任务三 抽象类 / 81
一、抽象类的定义 / 81
二、抽象类的使用 / 81
任务四 接口 / 82
一、接口的定义 / 82
二、接口的继承 / 83
三、多重继承接口 / 84
四、接口的实现 / 84
项目小结 / 85
思考与练习 / 86
项目五 数组和字符串 / 88
任务一 数组 / 88
一、数组概述 / 88
二、一维数组 / 88
三、多维数组 / 92
任务二 字符串 / 94
项目小结 / 100
思考与练习 / 100
项目六 异常处理 / 102
任务一 异常和异常类 / 102
任务二 已检查异常和未检查异常 / 104
任务三 异常处理的方法 / 105
一、try...catch...?nally语句 / 105
二、再次抛出异常 / 106
任务四 异常处理技巧 / 107
任务五 自定义异常类 / 108
项目小结 / 109
思考与练习 / 109
项目七 输入/输出 / 111
任务一 输入/输出类库 / 111
一、流的概念 / 111
二、基本输入/输出流类 / 112
三、其他输入/输出流类 / 113
四、标准输入/输出 / 114
任务二 字符输入/输出 / 115
一、字符输入 / 115
二、字符输出 / 116
任务三 数据输入/输出 / 117
任务四 文件与目录 / 119
一、创建File类对象 / 119
二、获取文件或目录属性 / 119
三、文件或目录操作 / 120
四、顺序文件的访问 / 122
五、随机文件的访问 / 123
项目小结 / 126
思考与练习 / 126
项目八 图形用户界面 / 128
任务一 Swing概述 / 128
一、Swing组件按功能的分类 / 129
二、Swing的特点 / 129
任务二 Swing容器 / 130
一、顶层容器 / 130
二、通用容器 / 132
三、专用容器 / 139
任务三 基本组件的使用 / 139
任务四 菜单 / 144
任务五 对话框 / 146
任务六 使用Action接口处理行为事件 / 148
一、Java事件处理原理 / 149
二、Java事件与监听器的类型 / 149
三、处理动作事件 / 152
四、处理选项事件 / 153
五、实现事件监听器的不同方式 / 153
项目小结 / 154
思考与练习 / 154
项目九 多线程 / 156
任务一 Java中的线程 / 156
任务二 线程的生命周期 / 156
任务三 线程的优先级和调度管理 / 158
任务四 扩展Thread类创建线程 / 159
任务五 实现Runnable接口创建线程 / 160
任务六 常用方法 / 161
任务七 线程同步 / 162
任务八 线程组 / 166
项目小结 / 166
思考与练习 / 166
项目十 网络编程 / 168
任务一 Java的网络支持 / 168
一、InetAddress类的使用 / 168
二、URLDecoder类和URLEncoder类的使用 / 169
三、URL类和URLConnection类的使用 / 171
任务二 基于TCP协议的网络编程 / 174
一、TCP协议 / 174
二、Socket概念及通信机制 / 175
三、创建ServerSocket类 / 176
四、创建Socket类 / 176
五、Client/Server程序设计 / 178
任务三 基于UDP协议的网络编程 / 181
一、UDP协议 / 182
二、使用MulticastSocket类广播通信 / 186
项目小结 / 189
思考与练习 / 189
参考文献 / 191