本书从比较 C 语言和 Java 语言的异同点出发,在体系结构、内容组织、语言表达等方面进行介绍。本书没有复杂的算法和晦涩难懂的代码,帮助学生感受学习 Java 语言的乐趣,掌握 Java 的基本编程技巧,理解面向对象程序设计的思想和理念。本书介绍基本的 Java 语言知识,同时引导学生学习更高级的 Java编程概念。本书共有 11 章,分别是 Java 语言概述、Java 程序设计基础、Java 类与对象、继承与接口、Java 面向对象高级特性、Java 实用类、Java 基本输入输出、多线程、Swing 图形用户界面、Java 网络编程、JDBC与 MySQL 数据库。本书可以使学生编写出初具规模的 Java 程序,为后续Web 程序设计、JavaEE 等课程打下坚实基础。本书可作为高等职业院校计算机相关专业的教材,也可作为广大计算机编程爱好者的参考用书。
虞建东,浙江科技学院信息学院教师,主讲Java程序设计、离散数学等课程,参与多项企业项目开发。CCF会员,中国人工智能学会会员
目 录
第1章 Java语言概述 1
本章学习目的和要求 1
主要内容 1
1.1 Java 简介 1
1.2 Java语言特点 2
1.3 Java开发工具 3
1.3.1 Java开发工具包 3
1.3.2 Java IDE 3
1.4 Java程序规范 4
1.4.1 Java程序结构 4
1.4.2 Java程序命名规则 5
1.4.3 注释 6
1.5 小结 7
本章习题 7
第2章 Java程序设计基础 8
本章学习目的和要求 8
主要内容 8
2.1 关键字与标识符 8
2.1.1 关键字 8
2.1.2 标识符 9
2.2 数据类型 9
2.2.1整型 10
2.2.2 浮点型 10
2.2.3 布尔型 10
2.2.4 字符型 10
2.3 数据类型的转换 11
2.3.1隐式转换(自动类型转换) 11
2.3.2显式转换(强制类型转换) 12
2.4 运算符和表达式 13
2.5 Java流程控制 15
2.5.1 for语句 15
2.5.2 break和continue语句 16
2.6 数组 17
2.6.1 一维数组 18
2.6.2 多维数组 19
2.7 小结 19
本章习题 20
第3章 Java类和对象 23
本章学习目的和要求 23
本章主要内容 23
3.1 面向对象程序设计 23
3.1.1 面向对象程序设计思想 23
3.1.2 面向对象程序设计的特点 24
3.2 类和对象 25
3.2.1 类的定义 25
3.2.1 访问控制修饰符 26
3.2.3 类的封装 26
3.3 对象的创建与使用 27
3.3.1 创建对象和匿名对象 28
3.3.2 对象的使用 28
3.4 构造方法 28
3.4.1 构造方法的作用与定义 28
3.4.2 默认的构造方法 29
3.5 方法的重载 29
3.6 参数传递 30
3.7 static关键字 31
3.7.1 实例变量和类变量 31
3.7.2 实例方法和类方法 32
3.7.3 静态初始化块 33
3.8 this关键字 34
3.9 包 35
3.10 import 35
3.11 Java访问权限 36
3.12 Java基本类型的类封装 37
3.13 垃圾回收 39
3.14 小结 39
本章练习 40
第4章 继承和接口 43
本章学习目的和要求 43
本章主要内容 43
4.1 类的继承 43
4.1.1 子类的创建 44
4.1.2 成员变量的隐藏和方法重写 44
4.2 super关键字 46
4.3 final关键字 47
4.4 Object类 48
4.4.1 toString方法 48
4.4.2 equals方法 49
4.4.3 getClass方法 49
4.5 对象的上转型 50
4.6 多态 51
4.7 instanceof 53
4.8抽象类 54
4.9 接口 54
4.10 实现接口 55
4.11 接口回调 57
4.12 枚举 59
4.13 小结 61
本章习题 61
第5章 Java面向对象高级特性 67
本章学习目的和要求 67
本章主要内容 67
5.1 内部类与匿名内部类 67
5.1.1 内部类 67
5.1.2 匿名内部类 68
5.2 Lambda表达式和方法引用 70
5.2.1 Lambda表达式 70
5.2.2 方法引用 71
5.3 泛型 72
5.3.1 泛型类 72
5.3.1 泛型方法 74
5.4 Class类 75
5.5 Annotation 77
5.5.1 基本注解 78
5.5.2 元注解 79
5.6 Java异常 80
5.6.1 异常机制简介 80
5.6.2 Java异常的处理 81
5.6.3 JDK异常类 83
5.7 小结 84
本章练习 85
第6章 Java实用类 87
本章学习目的和要求 87
本主要内容 87
6.1 String类 87
6.1.1 String类的声明 87
6.1.2 String类的“+”运算 89
6.1.3 String类和基本数据类型之间的转换 89
6.1.4 String类的常用方法 89
6.2 StringBuider类 90
6.2.1 创建 StringBuffer 类 90
6.2.2 常用方法 90
6.3 StringTokenizer类 91
6.4 正则表达式 93
6.5 Pattern类和Match类 96
6.5.1 Pattern类 96
6.5.2 Match类 97
6.6 System类 100
6.7 Scanner类 101
6.8 Time 102
6.9 Arrays 103
6.10 ArrayList类 106
6.11 小结 107
本章练习 108
第7章 Java基本输入输出 109
本章学习目的和要求 109
本章主要内容 109
7.1 Java的输入输出 109
7.1.1 流的概念 109
7.1.2 缓冲流 110
7.2 字节流和字符流 110
7.2.1 InputStream和OutputStream 110
7.2.2 Reader和Writer流类 112
7.2.3 字节字符转换流 112
7.3 IO流的应用 112
7.3.1 文件流 112
7.3.2 标准输入输出流 114
7.3.3 数据流 115
7.3.4 对象流 116
7.4 File类 117
7.5 Java NIO 118
7.5.1 基本概念 119
7.5.2 NIO操作方式 120
7.6 小结 121
本章练习 122
第8章 多线程 123
本章学习目的和要求 123
本章主要内容 123
8.1 线程的概念 123
8.1.1 程序、进程与线程 123
8.1.2 线程的状态与生命周期 124
8.2 Thread类与Runnable接口 125
8.2.1 利用Thread类的子类来创建线程 126
8.2.2 用Runnable接口来创建线程 127
8.2.3 线程间的数据共享 128
8.3 线程的优先级与调度 129
8.4 线程的同步 130
8.5 小结 134
本章练习 134
第9章 Swing图形用户界面 136
本章学习目的和要求 136
本章主要内容 136
9.1 AWT和Swing 136
9.2 Swing组件 137
9.2.1 顶层容器 137
9.2.2 中间容器 139
9.2.3 基本组件 140
9.3 布局 143
9.4 事件处理 146
9.5 事件类型和监听器类型 149
9.6 JTable 151
9.6.1 创建表格 151
9.6.2表格列控制 152
9.6.3表格行控制 152
9.6.4单元格数据存取 153
9.6.5取得用户所选的行 153
9.7 小结 157
本章练习 157
第10章 Java网络编程 159
本章学习目的和要求 159
本章主要内容 159
10.1 网络基础简介 159
10.1.1 TCP/IP协议 159
10.1.2 URL 160
10.1.3 Java语言的网络编程 161
10.2 InetAddress和URL类 162
10.2.1 InetAddress类 162
10.2.1 URL类 162
10.3 基于连接的Socket通信程序设计 163
10.3.1 Socket通信机制的基本概念 164
10.3.2 Socket通信模式 164
10.3.3 多用户Socket通信 168
10.4 UDP通信程序设计 176
10.5 小结 178
本章练习 179
第11章 JDBC和MySQL数据库 180
本章学习目的和要求 180
本章主要内容 180
11.1库与表 180
11.2 SQL 180
11.2.1 DDL 180
11.2.2 DML 181
11.2.3 DQL 181
11.2.3 MySQL 182
11.3 JDBC 182
11.3.1 JDBC API 182
11.3.2 JDBC程序基本步骤 183
11.4 Statement和PreparedStatement 186
11.4.1 Statement 186
11.4.2 PreparedStatement 187
11.5 ResultSet 189
11.6 小结 197
本章练习 198