本书介绍Java语言的基础知识及程序设计的基本方法,全书以实际问题的求解过程为向导,突出从问题到算法,再到程序的一种思维过程,强调计算机求解问题的思路引导与程序设计思维方式的训练。全书分为学习篇和实验篇。学习篇是课程学习的主要内容,共分10章,其内容体系大致分为三个部分。第一部分为第1章~第3章,这一部分从对Java语言的初步认识入手,介绍Java语言的基本数据类型与运算、程序的3种基本结构及其实现方法,包括概述、程序的数据描述以及程序控制结构。第二部分为第4章~第6章,这一部分是Java的核心与特色内容,介绍面向对象程序设计的概念和基本方法,包括类与对象、封装、继承与多态以及异常处理与输入/输出。第三部分为第7章~第10章,这一部分是对基础知识的扩充和发展,介绍Java的实际应用,包括多线程、网络程序设计、数据库应用以及图形用户界面开发技术。
本书可作为高等学校计算机程序设计课程的教材,也可供计算机应用人员阅读参考。
理论篇和实验篇相结合;
注重计算思维能力培养;
可作为门程序设计课程教学。
计算机程序设计基础是高校计算机基础教学的核心课程,它以一种高级程序设计语言作为实现工具,介绍程序设计的基本思想和方法。通过本课程的学习,使学生掌握利用计算机解决问题的基本思路和方法,了解程序设计语言的组成要素和基本特征,具有编写程序和调试程序的基本技能。学习程序设计既可为学习后继相关计算机课程奠定基础,也有助于学生更加深刻地理解计算机求解问题的基本思想和方法,因而计算机程序设计课程也是计算思维能力培养的重要载体,应成为对学生进行计算思维能力培养最直接、最具操作性的课程。
Java语言是目前流行的程序设计语言之一。随着Internet技术的发展,特别是Web应用开发技术的发展,Java语言受到业界的广泛青睐,许多企业选择Java及其相关技术来构建它们的应用系统。这一方面是因为Java语言具有面向对象、平台无关性、可移植性、强壮性和安全性等优良特性,另一方面也因为Java技术对各个层次的分布式应用(包括嵌入式应用、桌面应用与企业级应用)都提供了全面系统的方法与技术。因此,目前Java已不仅仅是一种单纯的程序设计语言,而变成了一种支撑Internet应用的庞大技术体系,是一种开发软件的标准、规范与架构的统称。事实上,语言只是整个Java体系构架中的一部分,学习Java本身也不仅仅在于学习如何使用Java语言的语法,更多的时候是在学习如何应用Java所提供的资源与各种标准,以开发出架构更好、维护更容易的软件。
本书介绍Java语言的基础知识及程序设计的基本方法,全书以实际问题的求解过程为向导,突出从问题到算法,再到程序的一种思维过程,强调计算机求解问题的思路引导与程序设计思维方式的训练。全书分为学习篇和实验篇。学习篇是课程学习的主要内容,共分10章,其内容体系大致分为三个部分。第一部分为第1章~第3章,这一部分从对Java语言的初步认识入手,介绍Java语言的基本数据类型与运算、程序的3种基本结构及其实现方法,包括概述、程序的数据描述以及程序控制结构。第二部分为第4章~第6章,这一部分是Java的核心与特色内容,介绍面向对象程序设计的概念和基本方法,包括类与对象、封装、继承与多态以及异常处理与输入/输出。第三部分为第7章~第10章,这一部分是对基础知识的扩充和发展,介绍Java的实际应用,包括多线程、网络程序设计、数据库应用以及图形用户界面开发技术。
学习Java语言程序设计,上机实践十分重要。只有通过上机实践,才能熟练掌握Java的语法知识,充分理解程序设计的基本思想和方法,并将所学知识应用到实际中去。为了方便读者上机练习,实验篇中提供了14个实验,每个实验都和课程学习内容相配合,读者可以根据实际情况从每个实验中选择部分内容作为上机练习。实验内容既包含与Java语法规则相关的内容,也包含许多实际问题的程序设计,从而增强学生的学习兴趣,提高学生分析问题和解决问题的能力。
本书注重Java基础知识的介绍,结合Java流程控制语句介绍了程序设计的基本知识和一些常用算法,因此本书可以作为第一门程序设计课程教学使用。同时,本书也强调面向对象程序设计的核心技术和基本应用技术,因此也可供具有一定程序设计基础和经验的读者阅读参考。
本书由刘卫国担任主编,参加编写的有童键、舒卫真、彭胜、黎明、姚昱旻、柳小文、郭美、肖敏、李首洪、李博、邹奇林、周克涛、孙士闯、张娟、毛颖等。邹北骥教授、施荣华教授、彭小宁教授对本书的编写给予了许多指导,在此表示诚挚的感谢。
由于作者学识水平有限,书中的疏漏或错误之处在所难免,恳请广大读者批评指正。
作 者
2016年5月
刘卫国,博士,中南大学教授,教育部文科计算机基础教学指导分委员会委员,美国加州大学圣地亚哥分校(UCSD)访问学者。从事大学计算机课程教学工作,承担省部级教学改革项目5项,曾获省教学成果二等奖、省高等学校优秀教材奖,主编高等教育“十一五”国家级规划教材3部,曾获茅以升铁路教育专项奖(教学专项奖)。主要从事网络与信息安全、智能信息处理领域研究,发表相关研究论文40余篇,承担完成国家自然科学基金、省自然科学基金等项目多项。
学习篇
第1章 概 述
1.1 Java语言的发展历史与应用
1.1.1 Java语言的发展历史
1.1.2 Java语言的应用
1.2 Java语言的特点
1.3 Java程序的运行机制
1.3.1 Java程序的分类
1.3.2 Java程序的运行过程
1.3.3 Java虚拟机
1.4 Java程序的运行环境
1.4.1 Java平台的版本选择
1.4.2 Java开发工具—JDK
1.4.3 Java集成开发环境—NetBeans
1.4.4 简单的Java程序
本章小结
习题1
第2章 程序的数据描述
2.1 Java符号集
2.1.1 Java中的标识符
2.1.2 Java的关键字
2.1.3 Java的分隔符
2.2 常量和变量
2.2.1 常量
2.2.2 变量
2.3 基本数据类型
2.3.1 整型
2.3.2 浮点型
2.3.3 字符型
2.3.4 布尔型
2.3.5 基本数据类型值间的转换
2.3.6 基本数据类型类
2.4 常用数值计算方法
2.5 运算符和表达式
2.5.1 赋值运算
2.5.2 算术运算
2.5.3 关系运算与逻辑运算
2.5.4 位运算符
2.5.5 其他运算
2.5.6 运算符的优先级及结合性
2.6 字符串
2.6.1 String类
2.6.2 StringBuffer类
2.7 数组
2.7.1 数组的概念与创建
2.7.2 数组的引用
本章小结
习题2
第3章 程序控制结构
3.1 程序设计概述
3.1.1 程序设计的基本步骤
3.1.2 算法及其描述
3.2 顺序结构程序
3.2.1 Java语句
3.2.2 基本输入输出
3.2.3 顺序结构程序举例
3.3 选择结构程序
3.3.1 单分支条件语句
3.3.2 双分支条件语句
3.3.3 多分支条件语句
3.3.4 开关语句switch
3.3.5 分支结构程序举例
3.4 循环结构程序
3.4.1 for循环语句
3.4.2 while循环语句
3.4.3 do-while循环语句
3.4.4 嵌套循环
3.4.5 循环结构程序举例
3.5 跳转语句
3.5.1 break语句
3.5.2 continue语句
本章小结
习题3
第4章 类与对象
4.1 面向对象的基本概念
4.1.1 对象、类和消息
4.1.2 面向对象的特性
4.2 Java类
4.2.1 类的基本结构
4.2.2 类的成员
4.2.3 构造方法
4.3 Java对象
4.3.1 对象的创建和初始化
4.3.2 对象的引用和清除
4.3.3 方法的调用
4.4 包
4.4.1 包的概念
4.4.2 包的创建与使用
本章小结
习题4
第5章 封装、继承与多态
5.1 封装
5.1.1 封装的概念
5.1.2 访问控制符
5.2 继承
5.2.1 继承的概念
5.2.2 继承的应用
5.2.3 this与super
5.2.4 继承的终止
5.3 多态
5.3.1 方法重载
5.3.2 方法覆盖与变量多态
5.3.3 抽象类
5.4 接口
5.4.1 接口的概念
5.4.2 接口的应用
5.4.3 抽象类与接口的比较
本章小结
习题5
第6章 异常处理与输入输出
6.1 异常处理
6.1.1 异常的概念
6.1.2 异常的处理
6.1.3 异常类的层次结构
6.1.4 自定义异常
6.1.5 异常处理的使用原则
6.2 Java的I/O处理
6.2.1 I/O流的概念
6.2.2 基本的I/O类
6.2.3 实体流与过滤流
6.2.4 标准输入输出对象
6.3 字节流应用
6.3.1 InputStream和OutputStream
6.3.2 常用实体流
6.3.3 常用过滤流
6.3.4 使用示例
6.4 字符流应用
6.4.1 Reader和Writer
6.4.2 字符流中的实体流和过滤流
6.4.3 InputStreamReader和OutputStreamWriter
6.4.4 使用示例
6.5 文件处理
6.5.1 File类
6.5.2 文件的顺序读写
6.5.3 文件的随机访问
本章小结
习题6
第7章 多线程
7.1 进程与线程
7.1.1 进程的概念
7.1.2 线程的概念
7.2 线程的创建
7.2.1 继承Thread类
7.2.2 实现Runnable接口
7.2.3 两种创建方式的比较
7.2.4 线程的生命周期
7.3 线程的调度与同步机制
7.3.1 线程调度
7.3.2 线程的同步
7.4 线程的通信
7.5 多线程应用实例
本章小结
习题7
第8章 网络程序设计
8.1 网络程序设计基础知识
8.1.1 TCP/IP简介
8.1.2 地址、域名与端口号
8.1.3 InetAddress类
8.2 URL编程
8.2.1 URL类
8.2.2 URLConnection类
8.3 Socket编程
8.3.1 Socket的概念
8.3.2 Socket编程
8.4 Datagram编程
8.4.1 Datagram的概念
8.4.2 Datagram编程的方法
本章小结
习题8
第9章 数据库应用开发
9.1 JDBC概述
9.1.1 数据库的基本概念
9.1.2 JDBC的原理
9.2 数据库访问
9.2.1 JDBC的常用接口和类
9.2.2 JDBC数据库连接
9.2.3 JDBC数据库操作
本章小结
习题9
第10章 Java图形用户界面设计
10.1 图形用户界面设计概述
10.1.1 Java图形用户界面工具
10.1.2 Java图形用户界面的构成
10.2 容器和布局管理器
10.2.1 Swing的常用容器
10.2.2 常用的布局管理器
10.3 Swing的常用控件
10.3.1 Swing标签和文本框
10.3.2 Swing命令按钮
10.3.3 Swing的组合框和列表框
10.3.4 Swing复选框和单选按钮
10.3.5 Swing中的高级控件
10.4 使用Netbeans开发简单的GUI应用
10.4.1 Netbeans的GUI生成器
10.4.2 Netbeans的GUI开发案例
本章小结
习题10
实验篇
实验1 简单的Java程序
实验2 程序的数据描述
实验3 顺序结构程序
实验4 选择结构程序
实验5 循环结构程序
实验6 字符串处理与数组应用
实验7 Java类与对象
实验8 类的继承和多态机制
实验9 异常处理
实验10 输入输出处理
实验11 多线程编程
实验12 网络程序设计
实验13 数据库应用开发
实验14 图形用户界面设计
参考文献