本书是高职教育类教材。本书针对目前开发行业对Java语言开发工具应用的技能需求以及计算机类专业对Java语言编程的基本要求,与企业深度合作,以“学习目标”→“任务引导”→“任务基础”→“任务实施”→“综合训练”为主线来编写。内容在涵盖基本程序语法的基础上,以小项目开发为实践落脚点。通过“学习目标”和“任务引导”,让学生首先了解要解决的问题;然后学习“任务基础”,奠定技术基础;进而完成“任务实施”的常规练习和拓展练习,来巩固学习成果,从而提高学生的编程技术和能力;最后通过“综合训练”梳理重要知识点,促进重要知识的识记与掌握。本书理论与实际深度融合,便于素质教育的教学实施。本书整体上采用“项目引导与驱动”模式,将枯燥的程序语法学习融入具体项目案例中,有利于激发学生学习兴趣,提升学习效果和教学效果。此外,本书案例源自工作实际项目,参考近期Java程序编程岗位的技能需求设计与编制,结构合理,实用性强。本书可作为高职院校计算机类专业或电子信息类专业Java程序设计教材,也可作为成人高校和其他培训机构的教材。
武春岭,男,硕士,二级教授、重庆市网络与信息安全等级保护专家,工信行指委计算机专指委委员,现任职重庆电子工程职业学院人工智能与大数据学院院长。主要研究方向为工业控制安全技术,在信息安全风险评估、网络安全等级保护、关键信息系统保护等领域有丰富的实践经验。主持/主研省部级项目12项,授权专利9项,发表论文30余篇,曾获国家级教学成果一等奖和二等奖各1次。
单元1 初识Java1
学习目标1
任务引导1
任务基础1
1.1 Java概述1
1.2 Java程序运行机制3
1.3 Java程序开发7
1.4 Java注释13
1.5 素质拓展—千里之行,始于足下14
任务实施15
1.6 下载安装JDK815
1.7 搭建Java开发环境15
1.8 使用Eclipse编写HelloWord程序15
综合训练15
单元 2 Java基础语法应用16
学习目标16
任务引导16
任务基础16
2.1 标识符和关键字16
2.2 变量和常量17
2.3 Java数据类型19
2.4 成员变量和局部变量24
2.5 Java运算符26
2.6 Java表达式30
2.7 素质拓展—没有规矩,不成方圆32
任务实施32
2.8 工程师月薪计算32
2.9 “瑞达系统”获取用户输入33
综合训练34
单元3 控制结构、方法与数组应用35
学习目标35
任务引导35
任务基础35
3.1 if语句35
3.2 switch语句41
3.3 循环语句44
3.4 方法51
3.5 一维数组56
3.6 排序算法64
3.7 二维数组65
3.8 素质拓展—用心的事情坚持做68
任务实施68
3.9 商城送礼68
3.10 杨辉三角形打印68
综合训练69
单元4 类与对象应用70
学习目标70
任务引导70
任务基础71
4.1 类和对象概述71
4.2 Java类73
4.3 构造方法83
4.4 对象初始化过程86
4.5 重载89
4.6 抽象和封装91
4.7 继承99
4.8 多态109
4.9 包和访问控制113
4.10 抽象类125
4.11 接口129
4.12 素质拓展—取其精华,去其糟粕140
任务实施140
4.13 封装学生类和老师类140
4.14 构造方法初始化学生类和老师类141
4.15 重载学习方法141
4.16 导入类和包141
4.17 产生随机数141
4.18 继承角度实现租车系统142
4.19 多态角度实现租车系统142
4.20 接口方式实现打印机工作过程142
综合训练142
单元5 常用类应用144
学习目标144
任务引导144
任务基础144
5.1 Java API文档的使用144
5.2 String类146
5.3 StringBuffer类152
5.4 异常处理154
5.5 素质拓展—精益求精,无处不在174
任务实施174
5.6 计算字符串中子字符串出现的次数174
5.7 完成Java工程师注册的功能174
5.8 使用Java API查找String类的方法并使用175
5.9 字符串分割175
5.10 根据现有程序添加合适的异常处理代码176
5.11 手工抛出一个算数异常176
综合训练176
单元6 集合应用178
学习目标178
任务引导178
任务基础178
6.1 集合框架178
6.2 Set接口180
6.3 Iterator迭代器184
6.4 List接口187
6.5 Map接口190
6.6 工具类191
6.7 自动拆箱和装箱198
6.8 泛型200
6.9 素质拓展—时刻树立大局观201
任务实施201
6.10 实现学生信息存放与删除201
6.11 改写租车系统,逆序输出车辆名称202
6.12 租车系统增加附加车辆信息功能202
6.13 域名与内容关联存储实现202
6.14 利用工具类实现学生信息比较203
6.15 泛型方式实现租车系统203
综合训练203
单元7 文件操作应用204
学习目标204
任务引导204
任务基础204
7.1 File类204
7.2 字节流和字符流210
7.3 其他流214
7.4 素质拓展—方向不对,努力白费218
任务实施218
7.5 获取目录和文件路径218
7.6 字符流方式实现文件复制219
7.7 数据流方式存取车辆信息219
综合训练219
单元8 线程应用220
学习目标220
任务引导220
任务基础220
8.1 多线程220
8.2 创建和使用线程222
8.3 线程控制225
8.4 共享数据233
8.5 线程死锁和协作240
8.6素质拓展—合理规划,分而治之245
任务实施246
8.7 多线程实现输出246
8.8 线程等待与中断方式实现计数246
8.9 多线程同步计数246
综合训练246
单元9 网络编程应用247
学习目标247
任务引导247
任务基础247
9.1 计算机网络247
9.2 IP地址和域名253
9.3 Java与网络255
9.4 Socket编程261
9.5 素质拓展—举一反三,学以致用267
任务实施268
9.6 IP地址配置与ping测试268
9.7 网络编程常用类测试268
综合训练268