本上机指导面向的读者对象主要为普通高等院校应用型本科计算机及其相关专业的学生以及Java的初学者,根据编者总结的实际教学经验与体会,结合当前软件开发行业的就业需求,精心设计各个实验内容。通过各个实验内容帮助读者理解面向对象思想和Java程序设计语言的精髓。书中的实例蕴涵的编程思想来自于实际的工程项目经验,具有一定的实用性和参考性。
本书包含两部分内容,共14章。前13章内容包含预备知识、若干个实验以及课外练习。预备知识概要讲解本章实验需要使用的理论知识点; 每个实验由实验目的、实验内容、实验步骤、参考代码和程序解析组成,其中的实验步骤按照编程思路给出参考代码或操作步骤,程序解析中针对实验中的疑难问题或者关键代码进行深入解析; 课外练习针对本章内容进一步扩展应用。第14章是一个综合的课程设计,包括设计目的、知识梳理、需求分析、设计与具体实现和设计总结。通过设计完成一个多线程下载器,帮助读者掌握面向对象程序设计方法,灵活使用Java SE的各种技术,具备桌面应用程序的开发能力。
本书结构安排如下:
第1章Java开发环境与面向对象概述,安装与配置Java开发环境,学习在Windows系统中设置JDK环境变量的方法,以及在DOS环境下编译和运行Java应用程序的方法,初步了解面向对象的编程思想,了解封装思想中属性、方法的概念,区分面向对象与面向过程两种编程思想的不同。
第2章Java语言基础,理解类的定义,掌握对象的创建,学会使用类的成员变量和成员方法,掌握访问修饰符的使用,掌握静态成员与实例成员的区别,学会使用类的静态成员和final关键字,掌握使用构造方法初始化对象,理解方法重载,理解变量的作用域,掌握成员变量和局部变量的区别,学会使用this关键字。
第3章程序的流程控制和数组,掌握选择结构、循环结构及其嵌套的使用,能够解决实际问题,学会使用命令行参数,了解和灵活使用continue和break等语句,练习使用逆向思维和递归思想来分析解决问题,熟练掌握和运用数组来解决实际问题。
第4章类的特性,理解子类派生的概念,学习创建子类对象,掌握方法重写的使用,掌握抽象类、内部类的使用。
第5章接口与多态,学习如何定义接口,掌握接口的实现方式,理解接口与抽象类的区别,学习利用多态机制实现向上转型以及增强系统的可扩展性。
第6章异常,使用trycatch、多重catch、throw关键字处理异常,理解ArithmeticException、ArrayIndexOutOfBoundsException和NumberFormatException异常类,使用自定义异常类和finally关键字。
第7章集合类的使用,学习对象数组和集合类的使用,并理解二者之间的区别,掌握ArrayList、Vector、HashMap和HashSet类的使用,理解泛型的概念。
第8章IO操作,掌握File类的使用,掌握FileInputStream类和FileOutputStream类、FileReader类和BufferedReader类、FileWriter类和BufferedWriter类的使用,理解序列化的意义,掌握Serializable接口的使用,理解transient关键字。
第9章多线程,掌握创建线程和启动线程的方法,掌握线程优先级的设置方法,理解线程同步的意义,掌握同步代码块和同步方法,实现线程间的通信。
第10章网络编程,理解端口与套接字,掌握使用ServerSocket类编写TCP程序。
第11章Eclipse开发环境的使用,安装Eclipse及其插件,学习使用Eclipse创建项目和类,熟练掌握使用Eclipse编写、运行、调试Java程序。
第12章Swing程序设计基础,熟练掌握使用Visual Editor界面辅助设计工具构建GUI,熟练运用Swing容器和组件编写Java图形化应用程序,熟练掌握组件的事件监听。
第13章数据库编程,熟练java.sql包的使用,掌握常见JDBC API的使用,包括数据的添加、更新、查询等操作,理解并掌握预编译方式执行SQL语句。
第14章课程设计——多线程下载工具,利用多线程技术、HTTP通信及Socket通信,设计并实现支持断点续传的基于Java的多线程下载工具。
本书第1章~第5章由于静编写,第6章和第7章由柯瑜编写,第8章和第9章由李远编写,第11章~第13章由顾鸿虹编写,第10章和第14章由张虹编写。全书由于静负责内容结构设计和统稿工作。
对于书中的疏漏和不妥之处,恳请读者批评指正。
编者
2015年6月