内容简介

  《北京大学信息技术系列教材:Java程序设计(第2版)》详细介绍了Java程序设计的基本环境、概念、方法和应用。内容分为三个部分:第一部分介绍了Java语言基础,包括数据、控制结构、数组、类、包、对象、接口等;第二部分介绍了Java深入知识,包括传值调用、虚方法调用、异常处理、Lambda表达式、流式处理;第三部分是Java的应用,包括工具类与算法、线程、文件、AWT及Swing图形用户界面,以及Java在网络、多媒体、数据库等方面的应用。
  《北京大学信息技术系列教材:Java程序设计(第2版)》对JDK7及JDK8中的新内容也进行了介绍。
  《北京大学信息技术系列教材:Java程序设计(第2版)》内容详尽,循序渐进,在介绍编程技术的同时,还着重讲解了有关面向对象程序设计的基本概念和方法。书中提供了丰富的典型实例,具有可操作性,便于读者的学习与推广应用。各章附有习题,便于读者思考和复习。
  《北京大学信息技术系列教材:Java程序设计(第2版)》内容和组织方式立足于高校教学教材的要求,同时可作为计算机技术的培训教材。
  《北京大学信息技术系列教材:Java程序设计(第2版)》也适用于作者在coursera上开设的慕课(MOOC)“Java程序设计”。

目录

第1章Java语言与面向对象的程序设计
1.1Java语言简介
1.1.1Java语言的发展
1.1.2Java三大平台
1.1.3Java语言的特点
1.1.4Java和C、C++比较
1.2面向对象程序设计
1.2.1面向对象概述
1.2.2对象、类与实体
1.2.3对象的状态与行为
1.2.4对象的关系
1.2.5面向对象的软件开发过程
习题

第2章简单的Java程序
2.1Application与Applet程序
2.1.1Application程序
2.1.2Applet程序
2.1.3Java程序的基本构成
2.2程序的编辑、编译与运行
2.2.1Java工具包JDK
2.2.2Application的编辑、编译与运行
2.2.3Applet的编辑、编译与运行
2.2.4使用jar打包程序
2.3Java程序中的基本输入与输出
2.3.1字符界面的输入与输出
2.3.2Applet图形界面输入与输出
2.3.3Application图形界面输入与输出
2.3.4同时作为Application与Applet的程序
2.4Java集成开发环境
2.4.1几种辅助工具的使用
2.4.2几种集成工具的使用
2.4.3建构工具及代码混淆
习题

第3章数据运算、流程控制和数组
3.1数据类型、变量与常量
3.1.1数据类型
3.1.2标识符
3.1.3常量
3.1.4变量
3.1.5程序的注释
3.2运算符与表达式
3.2.1算术运算符
3.2.2关系运算符
3.2.3逻辑运算符
3.2.4位运算符
3.2.5赋值与强制类型转换
3.2.6条件运算符
3.2.7表达式及运算的优先级、结合性
3.3流程控制语句
3.3.1结构化程序设计的三种基本流程
3.3.2简单语句
3.3.3分支语句
3.3.4循环语句
3.3.5跳转语句
3.4数组
3.4.1一维数组
3.4.2多维数组
3.4.3数组与增强的for语句
3.4.4数组的复制
习题

第4章类、包和接口
4.1类、字段、方法
4.1.1定义类中的字段和方法
4.1.2构造方法与对象的创建
4.1.3使用对象
4.1.4方法的重载
4.1.5this的使用
4.2类的继承
4.2.1派生子类
4.2.2字段的继承、隐藏与添加
4.2.3方法的继承、覆盖与添加
4.2.4super的使用
4.2.5父类对象与子类对象的转换
4.3包
4.3.1package语句
4.3.2import语句
4.3.3编译和运行包中的类
4.3.4CLASSPATH变量
4.4访问控制符
4.4.1成员的访问控制符
4.4.2类的访问控制符
4.4.3setter与getter
4.4.4构造方法的隐藏
4.5非访问控制符
4.5.1statiC
4.5.2final
4.5.3abstract
4.5.4其他修饰符
4.5.5一个应用模式——单子
4.6接口
4.6.1接口的概念
4.6.2定义接口
4.6.3实现接口
4.6.4对接口的引用
4.6.5Java8对接口的扩展
4.7枚举
4.7.1枚举的基本用法
4.7.2枚举的深入用法
习题

第5章深入理解Java语言
5.1变量及其传递
5.1.1基本类型变量与引用型变量
5.1.2字段变量与局部变量
5.1.3变量的传递
5.1.4变量的返回
5.1.5不定长参数变量
5.2多态与虚方法调用
5.2.1上溯造型
5.2.2虚方法调用
5.2.3动态类型确定
5.3对象构造与初始化
5.3.1调用本类或父类的构造方法
5.3.2构造方法的执行过程
5.3.3构造方法内部调用的方法的多态性
5.3.4实例初始化与静态初始化
5.4对象清除与垃圾回收
5.4.1对象的自动清除
5.4.2System.gc()方法
5.4.3finalize()方法
5.5内部类与匿名类
5.5.1内部类
5.5.2方法中的局部类及匿名类
5.5.3匿名类
5.6Lambda表达式与函数式接口
5.6.1Lambda表达式的书写与使用
5.6.2函数式接口
5.6.3高阶函数
5.7注解与反射
5.7.1注解的定义与使用
5.7.2反射
习题

第6章异常处理
6.1异常处理
6.1.1异常的概念
6.1.2捕获和处理异常
6.1.3应用举例
6.2创建用户自定义异常类
6.2.1自定义异常类
6.2.2重抛异常及异常链接
6.3异常与资源管理
6.3.1使用finlly
6.3.2使用try
6.4断言及程序的测试
6.4.1使用assen
6.4.2程序的测试及JUnit
习题

第7章工具类及常用算法
7.1Java语言基础类
7.1.1JavaAPI
7.1.2Object类
7.1.3基本数据类型的包装类
7.1.4Math类
7.1.5System类
7.2字符串和日期
7.2.1String类
7.2.2StringBuffer类
7.2.3StringTokenizer类
7.2.4日期相关类
7.3集合类
7.3.1集合与CollectionAPI
7.3.2Set接口及HashSet、TreeSet类
7.3.3List接口及AnayList,Vector类
7.3.4栈与队列
7.3.5键-值集合及Map接口
7.4泛型及集合遍历
7.4.1泛型
7.4.2装包与拆包
7.4.3Iterator及Enumeration
7.4.4集合与增强的for语句
7.5排序与查找
7.5.1使用Anays类
7.5.2使用Collections类
7.5.3编写排序程序
7.6遍试、迭代、递归及回溯
7.6.1遍试
7.6.2迭代
7.6.3递归
7.6.4回溯
习题
……

第8章线程与并行编程
第9章流、文件及基于文本的应用
第10章图形用户界面
第11章网络、多媒体和数据库编程

附录AJava语言各版本增加的重要特性

参考文献

前言/序言

  在程序设计的教学中,选择一种适合的语言是十分重要的。比较多种程序设计语言,笔者认为Java具有如下突出的优点。
  其一,Java是面向对象的语言,与现代面向对象的设计与分析的软件工程相一致,也是当前的主流程序设计语言之一。
  其二,简单易学。其中的数据类型、数据运算、程序控制结构等基本概念对于任何语言都是一致的;而其语法相对于C++等语言而言更简单,更容易掌握。
  其三,Java语言本身就支持一些高级特性,如自动垃圾回收、异常处理、多线程、并行计算等,这些特性使Java成为极优秀的语言之一。
  此外,Java具有广泛的用途。Java具有跨平台的特点,在各种平台上都有应用,它还可以有效地进行数据库、多媒体及网络的程序设计。不仅如此,Java还可以编写桌面应用、手机应用及网络应用。
  综上所述,Java是特别适合于程序设计学习的基础语言。
  对于学习者而言,选择一本好的教材至关重要。笔者基于多年程序设计语言的教学经验,结合个人的软件开发实践,力图使《北京大学信息技术系列教材:Java程序设计(第2版)》突出以下特色。
  1.对Java语言的基础知识,包括数据类型、流程控制、类的封装与继承、多态、虚方‘法调用、传值调用等进行系统讲解,让学习者知其然,并知其所以然。
  2.对Java中的类库中的基本类,包括Math、字符串、集合进行详细讲解,以利于学习者打下牢固的基础。
  3.对Java中的基本应用,包括I/O、文本界面、图形界面等,精选大量典型而实用的例子,力图使学习者触类旁通,举一反三。
  4.对一些高级应用,如数据库编程、网络编程、多媒体编程、多线程、并行计算等内容,介绍了其概念、原理,以利于学习者能了解Java的实际应用及最新发展。
  5.在讲解语言的同时,介绍它所采用的面向对象技术的基础理论、主要原则和思维方法,以及在编程中写好代码的一些技巧与经验。
  6.在讲解、举例时充分考虑到各个层次的需要,力求语言简洁,内容循序渐进。同时,考虑到部分读者的需要,《北京大学信息技术系列教材:Java程序设计(第2版)》提供了较多的习题。
  《北京大学信息技术系列教材:Java程序设计(第2版)》在内容安排上,大致可以分为三部分:第一部分介绍了Java语言基础,包括数据、控制结构、数组、类、包、对象、接口等;第二部分介绍了Java深入知识,包括传值调用、虚方法调用、异常处理、工具类与算法;第三部分是Java的应用,包括线程、并行编程、流式文件、AWT及Swing图形用户界面,以及Java在网络、多媒体、数据库等方面的应用。

其他推荐