JAVA从入门到精通
作者:王征
出版时间: 2020年版
内容简介
本书从基本的Java概念入手,由浅入深、典型实例剖析讲解、综合实例剖析讲解,一步一步引导初学者掌握Java编程知识。本书共17章,其中第1到第4章是Java编程基础篇;第5章到第7章是Java编程核心篇;第8章到第10章是Java面向对象程序设计篇;第11章到第16章是Java编程提高篇;第17章是综合案例实战篇,通过手机销售管理系统的编写,提高初学者对Java编程的综合认识,并真正掌握编程的核心思想及技巧,从而学以致用。 在讲解过程中既考虑读者的学习习惯,又通过具体实例剖析讲解Java编程中的热点问题、关键问题及各种难题。 本书适用于大中专学校的师生、有编程梦想的初高中生阅读使用,更适用于培训机构的师生、编程爱好者、初中级程序员、程序测试及维护人员阅读研究。
目录
第1章 Java 程序设计快速入门 / 1
1.1 初识Java / 2
1.1.1 什么是Java / 2
1.1.2 Java 的三大体系 / 2
1.1.3 Java 的发展历史 / 3
1.1.4 Java 的主要特征 / 4
1.2 搭建Java 开发环境 / 5
1.2.1 Java 开发工具包JDK 的下载 / 5
1.2.2 Java 开发工具包JDK 的安装 / 7
1.2.3 Java 的环境变量配置 / 8
1.3 编写Java 程序 / 10
1.3.1 新建文件并编写代码 / 11
1.3.2 保存代码并运行 / 12
1.4 Java 集成开发软件 / 13
1.4.1 Eclipse 的下载 / 13
1.4.2 Eclipse 的安装 / 14
1.4.3 利用Eclipse 软件编写Java 程序 / 16
第2章 Java 程序设计的初步知识 / 19
2.1 常量 / 20
2.1.1 什么是常量及其类型 / 20
2.1.2 常量的表示方法 / 21
2.2 变量 / 23
2.2.1 变量的命名规则 / 23
2.2.2 变量的定义及赋值 / 24
2.3 基本数据类型 / 25
2.3.1 整型 / 26
2.3.2 浮点型 / 28
2.3.3 字符型 / 29
2.3.4 布尔型 / 33
2.4 基本数据类型 / 34
2.4.1 算术运算符 / 34
2.4.2 赋值运算符 / 37
2.4.3 位运算符 / 38
2.5 自增(++) 和自减(--) / 42
第3章 Java 程序设计的判断结构 / 45
3.1 if 语句 / 46
3.1.1 if 语句的一般格式 / 46
3.1.2 实例:任意输入两个数,显示两个数的大小关系 / 46
3.2 if......else 语句 / 48
3.2.1 if......else 语句的一般格式 / 48
3.2.2 实例:任意输入两个学生的成绩,显示成绩较高的学生成绩 / 48
3.2.3 实例:任意输入一个正数,判断奇偶性 / 50
3.3 多个if......else 语句 / 52
3.3.1 实例:企业奖金发放系统 / 52
3.3.2 实例:每周计划系统 / 54
3.4 关系运算符 / 56
3.4.1 关系运算符及意义 / 56
3.4.2 实例:成绩评语系统 / 56
3.5 逻辑运算符 / 59
3.5.1 逻辑运算符及意义 / 59
3.5.2 实例:判断是否是闰年 / 60
3.5.3 实例:任意输入一个字母,判断是元音字母还是辅音字母 / 61
3.5.4 实例:剪刀、石头、布游戏 / 63
3.6 嵌套if 语句 / 65
3.6.1 嵌套if 语句的一般格式 / 65
3.6.2 实例:判断一个数是否是5 或7 的倍数 / 66
3.6.3 实例:用户登录系统 / 67
3.7 条件运算符和条件表达式 / 69
3.8 switch 语句 / 70
3.8.1 switch 语句的一般格式 / 71
3.8.2 实例:根据输入的数显示相应的星期几 / 71
第4章 Java 程序设计的循环结构 / 73
4.1 while 循环 / 74
4.1.1 while 循环的一般格式 / 74
4.1.2 实例:利用while 循环显示100 之内的自然数 / 74
4.1.3 实例:利用while 循环显示26 个大写字母 / 75
4.1.4 实例:随机产生10 个随机数,并显示最大的数 / 76
4.1.5 实例:猴子吃桃问题 / 77
4.2 do-while 循环 / 78
4.2.1 do-while 循环的一般格式 / 79
4.2.2 实例:计算1+2+3+……+100 的和 / 79
4.2.3 实例:阶乘求和 / 80
4.3 for 循环 / 81
4.3.1 for 循环的一般格式 / 81
4.3.2 实例:利用for 循环显示100 之内的偶数 / 81
4.3.3 实例:小球反弹的高度 / 82
4.4 foreach 循环 / 83
4.4.1 foreach 循环的一般格式 / 83
4.4.2 实例:显示学生姓名信息 / 84
4.5 循环嵌套 / 84
4.5.1 实例:分解质因数 / 85
4.5.2 实例:绘制# 号的菱形 / 86
4.5.3 实例:杨辉三角 / 87
4.5.4 实例:弗洛伊德三角形 / 90
4.6 break 语句 / 91
4.7 continue 语句 / 94
第5章 Java 程序设计的数组应用 / 97
5.1 初识数组 / 98
5.1.1 数组的定义 / 98
5.1.2 为数组的分配空间 / 98
5.1.3 数组的初始化 / 99
5.2 数组元素的访问 / 99
5.2.1 实例:利用数组元素的索引显示矩阵内容 / 99
5.2.2 实例:利用循环语句显示数组中的元素 / 101
5.2.3 实例:利用随机数为数组赋值并显示 / 102
5.2.4 实例:动态输入学生成绩信息并显示统计信息 / 103
5.3 二维数组 / 105
5.3.1 二维数组的定义 / 105
5.3.2 二维数组的初始化 / 105
5.3.3 显示二维数组中的元素值 / 106
5.3.4 实例:利用随机数为二维数据赋值并显示 / 107
5.3.5 实例:显示二维数组中整行数据 / 108
5.3.6 实例:显示二维数组中整列数据 / 110
5.4 Arrays 类 / 111
5.4.1 equals() 方法 / 111
5.4.2 fill() 方法 / 112
5.4.3 sort() 方法 / 113
第6章 Java 程序设计的字符串应用 / 115
6.1 String 类 / 116
6.1.1 定义字符串 / 116
6.1.2 字符串的连接 / 116
6.1.3 字符串的长度 / 119
6.1.4 字符串的大小写转换 / 120
6.1.5 删除字符串的首尾空格 / 121
6.1.6 从字符串中获取部分字符串 / 122
6.1.7 分割字符串 / 124
6.1.8 字符串的比较 / 125
6.1.9 字符串的查找 / 127
6.1.10 字符串的替换 / 130
6.2 StringBuffer 类 / 131
6.2.1 向StringBuffer 类中添加内容 / 131
6.2.2 反转字符串和替换字符串 / 133
6.2.3 字符串的删除 / 134
6.3 如何使用正则表达式来操作字符串 / 135
6.3.1 元字符 / 135
6.3.2 限定符 / 136
6.3.3 实例:动态输入正确的电话号码 / 137
第7章 Java 程序设计的数字和日期应用 / 141
7.1 Math 类 / 142
7.1.1 Math 类的两个属性 / 142
7.1.2 Math 类的常用数学运算方法 / 143
7.1.3 Math 类的三角运算方法 / 145
7.1.4 Math 类的random() 方法 / 147
7.1.5 Math 类的指数运算方法 / 149
7.2 Date 类 / 150
7.2.1 时间戳 / 150
7.2.2 Date 类的两个构造方法 / 151
7.2.3 Date 类的常用方法 / 152
7.3 使用SimpleDateFormat 格式化 / 154
7.4 Calendar 类 / 156
第8章 Java 程序设计的类和对象 / 159
8.1 面向对象概述 / 160
8.1.1 什么是对象 / 160
8.1.2 什么是类 / 160
8.1.3 面向对象程序设计的优点 / 160
8.1.4 面向对象程序设计的特点 / 161
8.2 类的定义和对象的创建 / 162
8.2.1 类的定义 / 162
8.2.2 对象的创建、初始化及显示 / 164
8.3 类成员的访问权限 / 165
8.3.1 公有成员public / 165
8.3.2 私有成员private / 166
8.3.3 保护成员protected / 168
8.4 类的构造方法 / 171
8.4.1 定义构造方法 / 171
8.4.2 带有参数的构造方法 / 172
8.5 类中的成员方法 / 174
8.5.1 成员方法的语法格式 / 174
8.5.2 成员方法的定义与调用 / 175
8.5.3 成员方法的递归调用 / 176
8.5.4 成员方法的可变参数 / 178
8.6 包机制 / 179
8.6.1 包的作用 / 179
8.6.2 系统包 / 180
8.6.3 自定义包 / 180
第9章 Java 程序设计的继承和多态 / 183
9.1 继承 / 184
9.1.1 类继承的语法格式 / 184
9.1.2 类继承的实例 / 184
9.2 多态 / 188
9.2.1 方法的重载 / 188
9.2.2 方法的重写 / 190
9.3 抽象类 / 192
9.3.1 抽象类的创建 / 192
9.3.2 抽象类的继承类 / 192
9.3.3 测试抽象类 / 193
9.4 接口 / 194
9.4.1 接口的特征 / 194
9.4.2 接口与类的相同点与不同点 / 195
9.4.3 接口与抽象类的区别 / 195
9.4.4 接口的定义 / 195
9.4.5 接口的实现 / 196
9.4.6 接口的继承 / 197
第10章 Java 程序设计的集合框架和泛型 / 201
10.1 集合框架 / 202
10.1.1 设计集合框架的目标 / 202
10.1.2 集合框架中的接口 / 202
10.1.3 集合框架中的接口实现类 / 203
10.2 Collection 接口 / 203
10.3 List 接口的实现类ArrayList / 204
10.3.1 ArrayList 类的常用方法 / 204
10.3.2 创建ArrayList 类 / 204
10.3.3 List 集合中元素的基本操作 / 206
10.3.4 List 集合中元素的查找与截取 / 207
10.4 List 接口的实现类LinkedList / 209
10.4.1 LinkedList 类的常用方法 / 209
10.4.2 LinkedList 类的应用 / 209
10.5 Set 接口及实现类 / 211
10.5.1 HashSet 类的应用 / 211
10.5.2 TreeSet 类的应用 / 212
10.6 Map 接口及实现类 / 214
10.6.1 HashMap 类的常用方法 / 215
10.6.2 HashMap 类的应用 / 215
10.7 泛型 / 217
10.7.1 泛型方法 / 217
10.7.2 泛型类 / 218
第11章 Java 程序设计的文件和文件夹操作 / 221
11.1 文件的操作 / 222
11.1.1 在当前文件夹中创建文件 / 222
11.1.2 查看文件的属性 / 224
11.1.3 在当前目录的子文件夹中创建文件 / 226
11.1.4 利用绝对路径创建文件 / 227
11.1.5 向文件中写入内容 / 228
11.1.6 读取文件中的内容 / 230
11.1.7 二进制文件的读写 / 230
11.2 文件夹的操作 / 232
11.2.1 在当前文件夹中创建文件 / 232
11.2.2 在当前目录的子文件夹中创建文件夹 / 233
11.2.3 利用绝对路径创建文件夹 / 235
11.2.4 查看当前工作目录的绝对路径 / 236
11.2.5 查看操作系统的根目录 / 236
11.2.6 查看指定目录中的文件和文件夹 / 237
第12章 Java 的GUI 程序设计常用控件 / 239
12.1 初识Swing / 240
12.1.1 容器 / 240
12.1.2 控件 / 240
12.1.3 布局管理器 / 240
12.2 JFrame 框架窗体 / 241
12.3 常用控件 / 242
12.3.1 JLabel 标签控件 / 243
12.3.2 JButton 按钮控件 / 244
12.3.3 JTextField 文本框控件 / 247
12.3.4 JTextArea 多行文本框控件 / 249
12.3.5 JRadioButton 单选按钮控件 / 250
12.3.6 JCheckBox 复选框控件 / 253
12.3.7 JList 列表框控件 / 256
12.3.8 JComboBox下拉列表框控件 / 257
12.3.9 JProgressBar 进度条控件 / 261
12.3.10 Timer 计时器控件 / 261
第13章 Java 的GUI 程序设计高级控件 / 265
13.1 菜单控件 / 266
13.1.1 JMenu 和JMenuItem 的常用方法 / 266
13.1.2 实例:为窗体添加菜单 / 266
13.1.3 实例:添加右键菜单 / 270
13.2 常用对话框控件 / 272
13.2.1 消息对话框 / 272
13.2.2 确认对话框 / 275
13.2.3 输入对话框 / 279
13.2.4 选项对话框 / 281
13.2.5 打开文件对话框 / 282
13.2.6 保存文件对话框 / 284
13.2.7 选择颜色对话框 / 286
13.3 工具栏控件 / 287
13.4 表格控件 / 290
第14章 Java 程序设计的异常处理 / 293
14.1 初识异常 / 294
14.1.1 什么是异常 / 294
14.1.2 异常的类型 / 296
14.1.3 异常类 / 296
14.2 异常处理 / 297
14.2.1 捕获异常 / 297
14.2.2 多重捕获 / 299
14.2.3 finally 语句 / 302
14.2.4 声明和抛出异常 / 304
14.3 自定义异常类 / 309
第15章 Java 程序设计的网络编程 / 313
15.1 初识网络编程 / 314
15.1.1 什么是网络编程 / 314
15.1.2 网络的类型 / 314
15.1.3 网络编程的模式 / 314
15.1.4 TCP/IP 协议 / 315
15.1.5 套接字和端口 / 315
15.2 InetAddress 类 / 315
15.2.1 获取本地主机名和IP 地址 / 315
15.2.2 查看指定主机名的IP 地址 / 317
15.3 ServerSocket 类 / 318
15.3.1 ServerSocket 类的构造方法与常用方法 / 318
15.3.2 实例:创建服务器端Socket / 319
15.4 Socket 类 / 320
15.4.1 Socket 类的构造方法与常用方法 / 320
15.4.2 实例:客户端程序 / 321
15.4.3 实例:服务端程序 / 322
第16章 Java 程序设计的数据库编程 / 325
16.1 MySQL 数据库 / 326
16.1.1 什么是数据库 / 326
16.1.2 MySQL 数据库的特性 / 326
16.1.3 MySQL 的下载 / 327
16.1.4 MySQL 的安装 / 328
16.1.5 MySQL 的配置 / 329
16.2 创建数据库和数据表 / 331
16.2.1 创建数据库 / 331
16.2.2 创建数据表 / 332
16.2.3 向数据表中插入数据和显示 / 333
16.3 利用JDBC 连接MySQL 数据库 / 333
16.4 利用Java 显示MySQL 数据表中的数据 / 337
16.5 利用Java 向MySQL 数据表中插入数据并显示 / 339
16.6 利用Java 修改MySQL 数据表中的数据并显示 / 341
16.7 利用Java 删除MySQL 数据表中的数据并显示 / 342
第17章 手机销售管理系统 / 345
17.1 手机销售管理系统登录界面 / 346
17.1.1 登录界面设计 / 346
17.1.2 设计登录数据库表 / 347
17.1.3 为两个按钮添加监听 / 349
17.2 手机销售管理系统主程序界面 / 351
17.2.1 主程序界面设计 / 351
17.2.2 登录界面与主程序界面的关联 / 353
17.3 显示全部手机信息界面 / 353
17.3.1 设计手机信息数据库表 / 354
17.3.2 显示全部手机信息界面设计 / 355
17.3.3 显示全部手机信息界面与主程序界面的关联 / 357
17.4 增加手机信息界面 / 357
17.4.1 增加手机信息界面设计 / 358
17.4.2 为三个按钮添加监听 / 359
17.4.3 增加手机信息界面与主程序界面的关联 / 361
17.5 查找手机信息界面 / 362
17.5.1 查找手机信息界面设计 / 362
17.5.2 为两个按钮添加监听 / 363
17.5.3 查找手机信息界面与主程序界面的关联 / 365
17.6 购买手机功能界面 / 366
17.6.1 购买手机功能界面设计 / 366
17.6.2 为两个按钮添加监听 / 367
17.6.3 购买手机功能界面与主程序界面的关联 / 368
17.7 删除手机信息界面 / 370
17.7.1 删除手机信息界面设计 / 370
17.7.2 为两个按钮添加监听 / 371
17.7.3 购买手机功能界面与主程序界面的关联 / 372