前言

Java程序设计语言是目前在实际软件项目开发中主流的编程语言之一,它具有与平台无关性以及网络编程等方面的特点。随着当今信息技术的飞速发展和Internet的普及,Java语言作为一种简单易学的面向对象语言受到了越来越多的软件开发人员的青睐。从Java程序设计语言推出至今,在十几年的时间里,其不断更新和发展,在越来越多的领域中发挥着重要的作用。

大学毕业后,本书作者一直从事软件开发工作。在实际的工作中,作者感到在学校里学习的内容与实际项目开发还是有很大差距的。于是在工作之余,把自己在项目开发工作中积累的一些经验和学到的知识集结成本书。希望通过本书的学习,读者可以在了解Java程序设计语言基础知识的基础上,能够使用Java程序设计语言解决实际问题,并在实际项目中更好地运用Java程序设计语言。

本书的特点

1.循序渐进,通俗易懂

本书首先介绍Java语言的基础知识,对Java语言的特点逐个进行讲解,然后讲解有关Java语言的高级特性、集合、常用类、泛型与枚举、异常与断言以及多线程等知识,由浅入深。在讲解过程中尽量避免使用生涩和不易理解的语句,注重对基础知识的讲解。对于一些不易理解的内容使用图解的方式逐步讲解,力求通过通俗易懂的语言使读者快速理解。

2.实用性强,贴近实际

考虑到实际项目开发的需要,本书中没有很深的理论知识,更加注重Java语言在实际项目中的应用。对于每一部分内容都通过实例进行说明,所选的实例以贴近实际的例子为主,目的是通过对Java语言的学习解决实际遇到的问题。

3.实例丰富,注解详细

本书中几乎每一个章节在讲解完成后都会给出一个应用程序举例,所有的代码都有详尽的注解,并且对于代码中涉及到的知识点和较难理解的内容,在代码后都会进行一些必要的说明和解释,同时对于书中涉及到的大部分例子都会给出编译的过程和结果。

4.内容充实,要点突出

本书对Java语言涉及到的主要内容和知识点进行了全面的介绍。对于Java语言中一些容易出现的错误和在实际应用中可能出现的问题以“注意”的形式突出表示出来,希望能够引起读者的注意。

5.案例剖析,加速学习

本书在案例分析篇选择了3个案例进行讲解。“DVD在线租赁的模拟”综合运用了Java程序设计语言中有关流程控制、数组和字符串的使用、方法的调用与参数的传递、信息封装、异常处理、文件输入输出等知识和面向对象的设计思想。“高校科研管理系统”利用MVC模式的思想结合Java与JSP技术具体讲解了用户登录模块、教师科研信息查询模块以及教师科研信息增加、修改和删除等模块的实现方法。最后使用Swing开发工具包实现了“ATM处理系统模拟”,它综合运用了Swing容器和基本组件、事件处理、多线程等方面的知识。

本书的内容

第1章:使读者了解Java语言。主要介绍Java语言的发展历史与应用领域、Java语言的特点、JDK开发环境的安装与设置、如何编译和运行简单的Java应用程序和Applet小应用程序、如何安装Eclipse以及如何在Eclipse下开发Java应用程序和Applet小应用程序。最后对在第一次编译和运行程序时可能遇到的问题进行分析并给出解决方法。

第2章:介绍Java语言的基础知识。包括Java语言的基本要素、常量与变量、基本数据类型与引用数据类型、运算符与表达式以及成员变量与局部变量等内容。

第3章:介绍Java语言的流程控制。主要介绍分支控制语句、循环控制语句以及跳转控制语句。在了解了Java语言的流程控制语句和使用方法之后,综合运用Java语言的流程控制语句解决两个实际的问题。

第4章:介绍数组的使用。首先介绍一维数组和多维数组的声明与初始化方法,并给出一维数组和二维数组实际应用的例子。然后介绍Java新增加的一种循环方式for/in(增强的for循环)的使用。接着介绍数据在计算机中是如何保存的,并通过图解的方式详细介绍一维数组和多维数组的内存分配情况。最后介绍与数组有关的类Arrays中的一些方法。

第5章:介绍字符串与正则表达式的使用。首先介绍如何对String类型字符串和StringBuffer类型字符串进行初始化,并且详细介绍如何使用String类和StringBuffer类中的方法。然后介绍如何使用StringTokenizer类对字符串进行分析。最后通过实例讲解正则表达式的匹配模式。

第6章:介绍面向对象的程序设计思想。首先介绍对象的创建和使用、类的声明、类的实体、对象的生命周期以及对于句柄的理解。然后介绍面向对象的软件开发方法,并通过简单的实例讲解面向对象的特点。

第7章:主要介绍方法的调用与参数的传递。首先介绍构造方法的调用过程。然后详细介绍非静态方法、静态方法等的调用方法。接着通过图解的方式讲述基本数据类型和对象作为方法参数的传递过程。最后介绍有关方法递归调用以及递归与循环的转换等内容。

第8章:主要介绍Java面向对象特点中的继承和多态。首先介绍Java类的单一继承、继承中变量的访问与隐藏、构造方法的调用与执行以及类的继承的设计。然后介绍什么是聚集、聚集和继承如何选择、强制类型转换与类型检测以及向上转型等内容。接着是对使用继承的利与弊的讨论。最后在多态的内容中,介绍什么是多态、多态在软件开发中的应用以及动态绑定和向下转型的相关内容。

第9章:讲解Java面向对象特点中有关封装的内容。首先介绍如何声明和导入包、如何设置classpath路径等。然后介绍如何使用Java语言中的4种访问控制符。最后通过实例讲解如何实现信息的封装与实施细节的隐藏。

第10章:对Java语言中类的高级特性做一个全面的介绍。包括关键字this, super, static和final的使用,抽象类与抽象方法,接口,内部类与匿名内部类以及克隆技术的使用等内容。

第11章:介绍Java中集合的相关内容。首先介绍Collection接口。然后讲解集合中的集、列表、映射的使用,接着介绍如何使用迭代器Iterator获取列表中的元素和映射中的键值对。最后介绍类Collections中与集合操作有关的方法。

第12章:介绍Java常用类。包括Object类、实现基本数字计算的Math类、产生随机数的Random类、表示日期的Date类、进行日期格式化的DateFormat类以及操作日历字段的Calendar类。

第13章:介绍Java的两个新特性——泛型与枚举。主要介绍泛型和枚举的概念以及为什么要使用它们,并通过实例介绍如何使用泛型与枚举。

第14章:介绍异常处理与断言。首先介绍Java中的两个概念——异常和错误,通过实例讲解几种常见的运行时异常的产生。然后介绍如何使用关键字try, catch, finally, throw和throws捕获和处理异常,并讲解如何自定义异常以及异常的处理机制。接着介绍异常使用的几个基本原则。最后介绍如何以及为什么要使用断言。

第15章:介绍Java语言中多线程的内容。首先介绍什么是线程、线程与进程的比较以及线程的生命周期。然后介绍实现多线程的两种方法——继承Thread类和实现Runnable接口。接着介绍线程的几种主要调度方法以及线程同步与线程通信问题。最后介绍死锁产生的原因以及如何避免产生死锁。

第16章:介绍Swing容器和基本组件。首先介绍什么是Swing。然后介绍组件类JComponent中关于组件的字体、颜色和外观的方法。接着介绍如何设置Swing窗体以及常用的几种布局管理器,Swing的基本组件包括按钮、标签、单行文本区和多行文本区、单选按钮和复选框、下拉列表与列表以及面板和滚动条。最后介绍如何实现JApplet小应用程序。

第17章:介绍事件处理的相关内容。首先介绍事件处理机制和事件类的层次关系。然后介绍低级事件、适配器类和语义事件。最后介绍动作和动作接口与键盘事件的对应。

第18章:介绍常用的Swing高级组件。内容包括表格、树、菜单、工具栏、对话框以及颜色选择器的应用。

第19章:主要介绍如何使用File类操作文件、流的概念、基本输入输出流的层次关系、一些常见的字节流和字符流、随机存储读写文件的RandomAccessFile类,以及如何实现对象的序列化与反序列化。

第20章:介绍网络编程的基本知识。首先介绍计算机网络的一些基本知识,包括TCP/IP协议、IP地址、Socket套接字、端口、URL以及UDP。然后介绍网络编程中常用的URL类以及InetAddress类的使用。最后通过实例讲解Socket套接字通信以及UDP收发数据报的实现。

第21章:介绍数据库操作的基本知识。首先介绍关系数据库的基本概念,如何使用SQL语句实现表和视图的创建、修改和删除,数据的查询和更新以及数据控制等内容。然后介绍数据库的完整性约束和事务。最后介绍MySQL 5.0的安装以及如何利用MySQL 5.0通过SQL语句实现对数据库的基本操作。

第22章:了解JDBC。介绍如何通过JDBC实现数据库的开发,并详细讲解使用Statement对象、PreparedStatement对象和ResultSet对象处理数据查询和更新以及处理结果集的方法。最后介绍Java与SQL之间的数据类型的转换。

第23章:通过一个对教师信息表进行查询以及对其进行数据的插入、修改和删除操作的实例使读者进一步了解使用Java语言对数据库进行操作的方法。

第24章:介绍JSP开发的基本内容。首先介绍安装配置JSP开发环境。然后介绍JSP的基本语法以及JSP的9个内置对象的使用,通过实例讲解如何使用JavaBean实现画面与业务的分离。最后介绍有关Servlet的内容。

第25章:介绍MVC模式和项目开发过程中的软件生命周期模型。MVC模式部分包括什么是MVC、MVC的处理过程和使用MVC的原因。项目开发过程中的软件生命周期模型中主要介绍快速原型模型和V字形模型。

第26章:介绍一个DVD在线租赁模拟的实例。通过提出问题、分析问题和解决问题三个步骤综合运用Java程序设计语言中有关流程控制、数组和字符串的使用、方法的调用与参数的传递、信息封装、异常处理、文件输入输出等知识和面向对象的设计思想实现对该问题的求解。

第27章:介绍一个高校科研管理系统的实例。利用MVC模式的思想结合Java与JSP技术具体介绍用户登录模块、教师科研信息查询模块以及教师科研信息增加、修改和删除等模块的实现。

第28章:介绍一个ATM处理系统模拟的实例。综合运用Swing容器和基本组件、事件处理、数据库操作等方面的知识介绍ATM处理系统中各个模块的实现方法。

适合的读者

◆ Java语言的初学者

◆ Java软件开发爱好者

◆ 大中专院校的学生

◆ 从事Java软件开发的工作人员

本书主要由孙浏毅编写,其他参与编写的人员有黄叶新、李增辉、刘聪、龙志标、孟劼、米爱中、秦侠、冉剑、任潇、谭励、王大亮、伍云辉、于重重、曾光、张双、朱照华、扈新波、黄永湛、刘新、孟祥嵩、王二亮、张贺军、李勇、刘基林、闫术卓、关涛、王岩、李晓白、魏星、刘蕾、吕峰军、商斌、师正杰、施以箴、杨洪涛、王润森、魏汪洋等。在此一并表示感谢!

编著者