内容章节
本书分为 18 章,内容包括:认识计算思维与 Java 程序设计、Java 语言及其 JDK 11、Java 程序结构解析、Java 语言的数据类型、流程控制、类与对象、继承与多态、抽象类、接口、程序包、嵌套类、常用类、窗口环境与事件处理、Swing 程序包、绘图与多媒体、例外处理、数据流的 V/O 控制、集合对象与泛型、多线程、网络程序设计等。
第 1 章计算思维与 Java 设计初步体验
计算机((Computer)堪称是 20 世纪以来人类最伟大的发明之一,对于人类的影响更甚于工业革命所带来的冲击。计算机是一种具备数据处理与计算功能的电子设备。在 1946 年,美国宾州大学教授埃克特与莫西利合作完成了人类第一台真空电子管计算机 ENIAC。而在 1945 年,冯·诺依曼教授首先提出了计算机存储程序的运行方式与二进制的概念,认为数据与程序可以存储在计算机的存储器再投入运行,于是拉开了程序设计语言与程序设计蓬勃发展的序幕。自从人类发明计算机,计算机就渗透到人类生活的各个领域。如图 1-1 所示的是计算机运用于工厂生产线与大楼自动化安保管理的例子。
本章的学习目标
认识计算思维
程序设计语言的分类
程序设计的流程
程序设计的原则
结构化与面向对象的程序设计
Java 语言的起源
Java 语言的特性
Java 的开发工具
JDK 的安装与运行环境的设置
Java 程序的编译与执行
Java 的程序结构
解析 Java SE11 新增功能的简介
第⒉章认识数据处理与表达式
计算机主要的特点之一就是具有强大的计算能力,能把从外界得到的数据输入计算机,并通过程序来进行运算,最后输出所要的结果。下面我们从数据处理的角度来认识 Java。Java 中任何数据处理的结果都是由表达式来完成的。通过不同的操作数与运算符的组合就可以得到程序设计者所要的结果。在本章中,我们将认识变量与常数的使用以及 Java 语言中常见的基本数据类型,其中的数据类型代表变量使用内存空间的大小,而变量用于存放程序执行时的数据(如图 2-1 所示)。同时,我们还会示范如何进行各种数据类型之间的转换。
本章的学习目标
变量与常数的使用·
基本数据类型·
自动数据类型转换·
基本输入与输出
强制类型转换
第 3 章流程控制
程序执行的顺序并不会像南北直接贯通的高速公路那样,可以从北到南一路通到底,事实上程序执行的顺序可能复杂到像云贵高原的公路,九弯十八转,容易让人晕头转向,因此程序的控制流程就像为公路系统设计的四通八达的通行指示方向,如图 3-1 所示。Java 的流程控制一般是按照程序源代码的顺序自上而下按序执行的,不过有时也会根据需要来改变程序执行的顺序,此时就是通过流程控制语句或指令来告诉计算机应该优先以哪一种顺序来执行程序,程序设计语言中的基本流程控制结构有三种,分别是顺序结构、选择结构和重复结构。本章将介绍 Java 语言中关于“流程控制”的使用方法。
本章的学习目标
程序的流程结构
条件结构
switch 条件选择语句·
条件运算符
循环结构
跳转控制语句
第 4 章过程与函数
软件开发是相当耗时且复杂的工作,随着需求和功能越来越多,程序代码也就越来越庞大,这时多人分工合作来完成软件开发是势在必行的。那么应该如何解决分工合作的问题呢﹖我们通常会将程序中要重复执行特定功能的程序代码独立出来作为一个过程(Procedure)或函数(Function)。简单来说,过程(或函数)就是一段程序代码的集合,并且给予它一个名称。
当程序需要运用这段程序代码时,可以直接调用过程(或函数)。通常过程是指有特定功能的独立程序单元,如果该过程有返回值,就称为函数。通过过程(或函数)的编写,我们可以精简主程序的重复流程,减轻程序人员编写程序代码的负担,更能大幅降低日后程序的维护成本。
第 5 章数组结构
本章的学习目标
数组的声明与使用
多维数组与不规则数组·
数组的复制
对象数组
Arrays 类
第 6 章字符与字符串的声明与应用
字符是组成文字最基本的单位,由字符组成的一串文字符号就称为字符串。Java 提供了两种处理字符串的类,分别为 String 字符串类与 StringBuffer 字符串缓冲区类(注意:后文都简称为 String 类和 StringBuffer 类)。由于 String 类所产生的对象内容是只读的,因此适合不经常变动的字符串应用。在 Java 中,字符串被当成内建的对象来使用,内建的方法有比较字符串、搜索字符串、更改字符串内容等。在本章中,我们将介绍字符串类及其各种方法,除此之外,我们还会探讨 StringBuffer 类。
本章的学习目标
宇符的声明与使用·
创建字符串·
创建字符串数组·
字符串类的方法
StringBuffer 类
第 7 章面向对象程序设计的初探
面向对象程序设计(Object- Oriented Programming, 0OP)是当前主流的程序设计方法。它主要让程序设计人员以一-种更生活化、可读性更高的设计思路来进行程序的开发和设计,并且所开发出来的程序更易于扩展、修改及维护,弥补“结构化程序设计”的不足。Java 语言是一种纯面向对象的程序设计语言,面向对象的程序设计通常具有封装( Encapsulation)、继承( Inheriance)、多态(Polymorphism)三种特性,这三种特性将在后续章节为大家- -- - 介绍。
本章的学习目标
面向对象的基本概念
数据的封装
类与对象的创建
类的参数与自变量
类的构造函数
对象的赋值与使用
对象的作用城与生命周期
第 8 章继承与多态
继承类似于遗传的概念,例如父母生下子女,若无例外情况,则子女一定会遗传父母的某些特征。当面向对象程序设计技术以这种类似的概念定义其功能时,就称为继承(Inheritance)。继承是面向对象程序设计中核心的概念之一,我们可以参照现有的类,通过继承派生出新的类,这种程序代码可重复使用的概念可以帮助我们省去重复编写相同程序代码的繁复工作。在本章中,我们将探讨继承的基本概念,学习如何通过继承来声明并定义新的类,最后还会介绍对象多态的概念。
本章的学习目标
继承的概念
基类和派生类
单一继承
继承权限的处理
构造函数的调用顺序
类构造函数的继承关系
重载( Overload )
覆盖( Override )
动态调度( Dynamic Dispatch ).
多态的概念与实现
第 9 章抽象类、接口、程序包与嵌套类的作用
在面向对象程序设计中,类(Class)关系到程序中所有对象的创建。本章将为大家介绍关于类的 4 种扩展类型:抽象类(Abstract Class)、接口( Interface)、程序包(Package)与嵌套类(NestedClass)。首先,我们会介绍抽象类的基本概念,同时会说明如何声明、定义与使用抽象类:接着,会讨论以接口来实现多重继承;最后,我们将探讨在大型程序项目中如何使用程序包来有效管理程序代码。
本章的学习目标
·抽象类的概念与实现
以接口来实现多重继承
程序包的包装与导入
嵌套类
内部类·
匿名类
第 10 章 Java 常用类
Java 的类库已定义了许多实现的类,各种类中也针对这些类的特性设计了许多实用的方法,如果对这些常用的类有相当的了解,那么不仅可以把它们灵活地运用在 Java 的程序开发中,还可以减少许多不必要的开发时间。在本章中,我们将介绍几种相当实用的类。
本章的学习目标
Math 类
Number 类.
Vector 类
第 11 章窗口环境与事件处理
图形用户界面(Graphics User Interface,GUI)是一种以图形化为基础的用户界面,用户在操作时只需要移动鼠标,单击另一个被赋予功能的图形,即可执行对应的已设计好的程序。在 Java 中,抽象窗口工具包(Abstract Window Toolkit,AWT)提供了窗口与绘图的基本工具。AWT 是 Java 较早的技术,缺点是会浪费许多系统资源,SUN 公司后来又推出了 Swing 类库以取代 AWT 类库。在 Swing 类库中提供了比 AWT 更多的对象,也是 Java 窗口应用程序更新一代的架构。Swing 的对象是基于 AWT 的 Container 类发展而来的。由于用 AWT 开发窗口应用程序的普及率不低,即使 SUN 不再扩充 AWT 类库,我们仍有必要再介绍 Swing 技术之前对 AWT 技术有所了解,因此本章将探讨如何用 Java 的 AWT 类来构建窗口环境作为我们开发窗口程序设计的基础。
本章的学习目标
·浅谈 GUI 设计
·创建第一个窗口程序·
窗口的版面布局
窗口的事件
处理鼠标事件
·键盘事件·
低级事件类
第 12 章 Swing 程序包开发守则
Swing 程序包是一个完全用 Java 语言编写的新版窗口程序包,它定义在 javax.swing 类下,并提供了比 AWT 程序包更多、更新的功能。大部分的 Swing 组件都继承自 JComponent 类,所以它的组件名称大都是以“J”字母开头的,以此来区分 AWT 的组件。Java Swing 是 Java 用来开发窗口应用程序的新技术,以 AWT 的架构为基础,相关的组件除了基本的按钮(Button)、复选框(Checkbox)、标签(Label)和文本框(Textbox)外,Swing 还提供了树形图(Tree)、表格(Table)和滚动式面板(Scroll Pane)等组件。在本章中,我们将介绍 Swing 的特色及组件外观,并针对几个重要的组件为大家说明这些组件的实现方式及其主要的应用场合。
本章的学习目标
Swing 程序包特色
调整 Swing 组件外观
JButton(按钮)组件
JCheckBox (复选框)组件
JRadioButton(单选按钮)组件
JTextField(文本字段)与 JTextArea(文本框)组件
JList(列表框)组件
创建页签
第 13 章绘图与多媒体功能开发
java.awt 程序包中的 Graphics 类负责 Java 基本图形的绘制工作。我们可以调用它所提供的各种成员方法在 AWT、Swing 窗口或 Applet 组件上绘制各种图形和图案。另外,还通过 MediaTracker 类对象来重复播放动画。
本章的学习目标
Java 的基本绘图程序包
draw 的成员方法
画线
画矩形画圆和椭圆
窗口颜色
图像的重新绘制
动画处理与声音的播放
第 14 章例外处理
例外(Exception)的定义:程序在执行过程中,中断程序继续执行的错误信息。在程序设计过程中,从思考设计流程到开始编写程序代码,再到编译、执行,难免会有考虑不周而导致的错误。有些过程所产生的错误是在执行前,程序设计者可以自行处理;但有些错误是程序设计者无法自行处理的,这时 Java 必须“接手”来处理,还好 Java 提供了例外处理的机制。本章将完整地说明 Java 语言的例外机制,并通过范例程序来示范如何自定义例外类。
本章的学习目标
·什么是例外处理·
例外处理的语法
·例外处理的执行流程
使用 throws 抛出例外
事件调用方法来处理例外使用类处理例外例
外结构的介绍
自定义例外处理的类
第 15 章数据流与文件管理.
数据流(Stream)表示一个序列的数据从“源头”流向“终点”。在 C++中,所有数据的输入输出都建立在数据流的概念上。一种是“输出数据流”,用来把程序输出的结果传到输出设备(例如屏幕、磁盘等)﹔另一种是“输入数据流”,用来让输入设备(例如键盘、磁盘等)把数据传入程序中。在 Java 环境下,无论是存储于哪一种类型的媒介(文件、缓冲区或网络)中的不同类型的数据(数值、字符、字符串、图形甚至对象),它们的基本输入输出操作都必须依靠内建的数据流(Stream)对象来进行处理。我们将在本章完整地说明 Java 数据流的 IO 控制,包括标准输入输出数据流、字符数据流、字节数据流、文件数据流及缓冲区等。
本章的学习目标
Java 的基本数据流对象
标准输出数据流
标准输入数据流
抽象基类——Reader 与 Writer
InputStream 类与 OutputStream 类·
文件数据流
·缓冲区
第 16 章泛型与集合对象
泛型(Generic)在 C++中其实就是模板(Template),只是 Swift、Java 和 C#采用了泛型这个更广泛的概念。泛型可以让用户根据不同数据类型的需求编写出适用于任何类型的函数和类。我们或许可以这么说:泛型是一种类型参数化的概念,主要是为了简化程序代码,降低程序日后的维护成本。
第 17 章深度剖析多线程
所谓多线程执行机制,就是将程序分割为多个线程(Thread),让这些线程在同一段时间并行或并发执行。在. Java 的虚拟运行环境中提供了完善的多线程机制,让程序开发人员能编写高效率的应用程序。我们在本章中将完整地说明程序(Program)、进程(Process)与线程(Thread) )之间的关系,同时还会介绍多线程的基本用法。
本章的学习目标
Java 的多任务处理
Timer 类与 TimerTask 类
多线程机制——Thread 类
多线程机制———Runnable 接口
线程的生命周期
管理线程的方法
线程分组
数据同步操作的问题
第 18 章精通网络程序设计
如果我们要编写一个网络应用程序,首先必须对于因特网通信协议(Internet Protocol,或称为互联网协议)、数据的传输方式有所了解。在 Java 的 java.net 程序包中提供了有关网络应用的相关类,我们只要在这些类中设置一些参数,即可完成网络连接、数据传输及远程控制等功能。本章重点介绍如何用 Java 语言来编写网络应用程序。
本章的学习目标
认识网络应用程序
Java 网络应用程序的相关程序包
InetAddress 类
以 Socket 来建立通信
服务端与 Socket
客户端与 Socket
UDP 通信
URL 类
本书适合综合性大学、理工科大学、技术专科学院作为教材,用于教授程序设计、面向对象程序设计等相关课程;同时,也适合想学习 Java 程序设计的读者作为自学参考书。需要的小伙伴可以私信我