Java程序设计基础

2025-9-28 94 9/28

Java程序设计基础

作者:刘平山主编

页数:400页

出版社:西安电子科技大学出版社

出版日期:2024

ISBN:9787560671864

高清校对版pdf(带目录)

前往页尾底部查看PDF电子书

内容简介

本书内容可分为三大部分。第一部分是基础程序设计,包括第1-5章,主要介绍计算机和编程语言基础知识、Java语言概况、基础编程知识(如基本数据类型、变量、常量、标识符、表达式、运算符、JShell、选择结构、循环结构、方法、数组、字符串等)。第二部分是面向对象程序设计,包括第6-11章,主要介绍类与对象、继承与多态、抽象类与接口、内嵌类、lambda表达式、泛型、枚举、异常、文件、输入/输出流等。第三部分是图形用户界面设计,对应第12章,主要介绍JavaFX应用程序结构、容器面板、事件驱动编程、控件、统计图表等内容。

本书特色

本书的特色主要如下:
(1) 面向零基础。为了便于编程零基础的学习者学习,本书第1章介绍了计算机基础、编程语言基础、Java语言历史与现状、Java语言特点等,第2章详细介绍了基础的编程概念和技术,这些内容就是为零基础的学习者服务的。
(2) 强调问题驱动与问题求解。学习一门编程语言,不仅仅要准确理解该编程语言的语法知识,更重要的是应用语言去求解问题。在问题求解过程中,编程语言的语法和使用技巧可以被学习者消化和巩固。本书不仅在编程示例中选用了诸多编程问题,而且在课后编程习题中提供了一些有趣的编程问题。这些编程问题的引入,能有效提升学习者的积极性和兴趣,使得学习者在问题求解过程中深入理解和掌握编程语言的语法知识和应用。
(3) 有机融入课程思政元素。为了实现立德树人的根本任务,在专业知识教育过程中,本书有机融入了课程思政元素,在每章设计了1~2个课程思政案例,以培养学生的家国情怀、创新精神、工匠精神、职业精神等,加强对学生的世界观、人生观和价值观的教育,传承和创新中华优秀传统文化,促进学生的自由全面发展。

目录

本书课程思政点对照表 1
第1章 Java语言概述 3
1.1 计算机基础 3
1.1.1 冯·诺依曼结构 4
1.1.2 数制 5
1.1.3 编程语言和程序 7
1.2 Java语言概述 9
1.2.1 Java语言的发展历史 9
1.2.2 Java语言的特点和应用 10
1.2.3 JDK的安装 13
1.3 Java简单程序开发 20
1.3.1 一个简单程序 20
1.3.2 Java应用程序开发步骤 23
1.3.3 源文件、字节码文件与类 24
习题 25
第2章 Java编程基础 26
2.1 标识符与关键字 26
2.1.1 ASCII码和Unicode码 27
2.1.2 标识符 28
2.1.3 关键字 29
2.2 变量与常量 29
2.2.1 变量 29
2.2.2 常量 30
2.3 赋值语句与赋值表达式 31
2.4 命令行交互工具JShell 32
2.5 基本数据类型 36
2.5.1 整数类型 37
2.5.2 浮点类型 38
2.5.3 字符类型 40
2.5.4 布尔类型 42
2.5.5 数据类型转换 42
2.5.6 输入基本数据类型 44
2.5.7 格式化控制台输出 48
2.6 运算符和表达式求值 51
2.6.1 算术运算符 52
2.6.2 增强赋值运算符 56
2.6.3 关系运算符 57
2.6.4 逻辑运算符 57
2.6.5 条件运算符 58
2.6.6 运算符总述 59
2.7 数学函数 60
2.7.1 三角函数 60
2.7.2 指数函数 62
2.7.3 服务方法 63
2.8 编程与算法 64
2.8.1 编程 64
2.8.2 算法 66
2.9 编程规范 67
2.9.1 程序设计风格 67
2.9.2 注释 68
2.9.3 命名习惯 73
2.10 程序设计错误 74
2.10.1 编译错误 74
2.10.2 运行时错误 75
2.10.3 逻辑错误 75
习题 76
第3章 控制结构 77
3.1 选择结构 77
3.1.1 单分支结构 78
3.1.2 双分支结构 79
3.1.3 多分支结构:嵌套if和多分支if-esle 80
3.1.4 多分支结构:switch 82
3.1.5 switch新特性 85
3.1.6 示例:判断闰年 87
3.1.7 示例:判断生肖属相 87
3.2 循环结构 88
3.2.1 while循环 89
3.2.2 do-while循环 90
3.2.3 for循环 92
3.2.4 嵌套循环 94
3.2.5 循环中的break语句 95
3.2.6 循环中的continue语句 97
3.2.7 示例:求π值 98
3.2.8 示例:百钱买百鸡问题 99
3.2.9 示例:输出素数 100
习题 102
第4章 方法 103
4.1 方法定义 103
4.2 方法调用 104
4.3 按值传递 107
4.4 方法重载 110
4.5 变量的作用域 112
4.6 模块化编程 113
4.7 示例学习 116
4.7.1 求π值 116
4.7.2 输出素数 117
4.7.3 十进制与十六进制相互转换 119
习题 122
第5章 数组与字符串 123
5.1 一维数组 124
5.1.1 数组声明与创建 124
5.1.2 数组初始化与访问 125
5.1.3 foreach循环 128
5.1.4 数组的常用操作 128
5.1.5 数组与方法 131
5.1.6 数组查找 135
5.1.7 数组排序 138
5.1.8 Arrays类 140
5.1.9 数组复制 141
5.2 二维数组 143
5.2.1 二维数组声明与创建 144
5.2.2 二维数组初始化与访问 144
5.2.3 锯齿二维数组 145
5.2.4 二维数组处理 146
5.3 多维数组 148
5.4 数组应用示例 150
5.4.1 扑克牌混洗和发放 150
5.4.2 单选题测试评分 152
5.4.3 矩阵相加 154
5.5 字符串 156
5.5.1 String类基础 156
5.5.2 字符串处理 157
5.5.3 文本块 162
5.6 正则表达式 164
5.6.1 字符串匹配 165
5.6.2 字符串拆分 166
5.6.3 字符串替换 166
5.7 字符串应用示例 167
5.7.1 回文判断 167
5.7.2 词频统计 168
5.7.3 最长公共子串 170
5.8 可变长参数列表 172
5.9 命令行参数 173
习题 176
第6章 面向对象程序设计(上) 177
6.1 面向对象概述 177
6.1.1 面向过程与面向对象的抽象 178
6.1.2 封装 179
6.1.3 继承 180
6.1.4 多态 181
6.2 类与对象 181
6.2.1 类的定义 181
6.2.2 对象创建 183
6.2.3 对象访问 187
6.3 静态成员 188
6.4 可见性修饰符 192
6.4.1 包 193
6.4.2 模块 198
6.4.3 public、private、包私有访问权限 199
6.5 数据域封装 200
6.6 变量作用域 202
6.7 对象与方法 203
6.7.1 对象作为方法的形参 203
6.7.2 对象作为方法的返回值 205
6.7.3 var声明对象作为方法的局部变量 206
6.8 对象数组 207
6.9 ArrayList 209
6.10 this引用 212
6.10.1 this引用被隐藏数据域 213
6.10.2 this调用构造方法 213
6.11 Java常用类 214
6.11.1 基本数据类型的包装类 214
6.11.2 BigInteger类和BigDecimal类 221
6.11.3 Random类 224
6.11.4 Date类 225
习题 226
第7章 面向对象程序设计(下) 227
7.1 继承 228
7.1.1 父类与子类 228
7.1.2 protected数据和方法 236
7.2 super 238
7.2.1 调用父类构造方法 238
7.2.2 调用父类普通方法 239
7.3 方法重写 240
7.4 final 241
7.5 密封类 241
7.6 Object类 243
7.6.1 方法toString( ) 244
7.6.2 方法equals( ) 245
7.7 多态性 247
7.8 动态绑定 250
7.9 对象转换 252
7.10 抽象类 253
7.11 抽象类示例 258
7.11.1 抽象类Calendar和子类GregorianCalendar 258
7.11.2 抽象类Number及其子类 264
7.12 接口 265
7.12.1 普通接口声明 266
7.12.2 接口实现 266
7.12.3 父接口与子接口 269
7.12.4 默认方法、静态和私有方法 270
7.12.5 默认方法冲突 270
7.12.6 密封接口 272
7.12.7 注解与注解接口 273
7.13 接口示例:Comparable接口 276
7.14 抽象类与接口 280
7.15 面向对象程序设计原则 281
习题 282
第8章 内嵌类与lambda表达式 283
8.1 内嵌类 283
8.1.1 成员内部类 284
8.1.2 局部内部类 288
8.1.3 匿名内部类 289
8.1.4 静态内嵌类 290
8.2 lambda表达式 292
8.2.1 lambda表达式语法 292
8.2.2 lambda表达式作用域 296
8.2.3 方法引用 297
8.2.4 lambda表达式与ArrayList 302
8.2.5 Comparator接口 303
习题 306
第9章 泛型与枚举 307
9.1 泛型 307
9.1.1 泛型引入的原因 307
9.1.2 泛型类 308
9.1.3 泛型接口 309
9.1.4 泛型方法 310
9.2 枚举 311
9.2.1 枚举引入的原因 311
9.2.2 枚举的定义 313
9.2.3 枚举与接口 315
9.2.4 枚举与if、switch 316
习题 318
第10章 异常处理 319
10.1 异常处理概述 319
10.2 异常的类型 326
10.3 声明必检异常 327
10.4 重新抛出异常 329
10.5 链式异常 329
10.6 自定义异常 330
10.7 异常新特性 333
习题 334
第11章 文件与I/O流 335
11.1 I/O流概述 335
11.2 文件 336
11.2.1 File类 337
11.2.2 FileSystem类 339
11.3 文本文件输入与输出 339
11.3.1 Scanner类 339
11.3.2 PrintWriter类 341
11.4 文本I/O 342
11.4.1 FileReader与FileWriter 343
11.4.2 BufferedReader与BufferedWriter 345
11.5 二进制I/O 347
11.5.1 FileInputStream与FileOutputStream 349
11.5.2 BufferedInputStream与BufferedOutputStream 349
11.5.3 DataInputStream与DataOutputStream 350
11.5.4 ObjectInputStream与ObjectOutputStream 352
11.6 随机访问文件 354
习题 355
第12章 JavaFX图形用户界面程序设计 356
12.1 JavaFX概述 356
12.2 JavaFX程序的基本结构 358
12.3 属性绑定 360
12.4 布局面板和组 361
12.4.1 Pane面板 361
12.4.2 StackPane面板 363
12.4.3 FlowPane面板 363
12.4.4 GridPane面板 365
12.4.5 VBox和HBox面板 366
12.4.6 BorderPane面板 367
12.5 Node类 368
12.5.1 Color类 369
12.5.2 Font类 371
12.5.3 Shape类 372
12.5.4 Image和ImageView类 375
12.6 事件驱动编程 376
12.6.1 事件处理基本概念 376
12.6.2 事件委派和事件处理 378
12.6.3 lamda表达式简化事件处理 379
12.6.4 示例:简易计算器 379
12.6.5 鼠标事件 380
12.6.6 键盘事件 381
12.7 JavaFXUI控件 382
12.7.1 标签Label 382
12.7.2 按钮 383
12.7.3 示例:按钮综合演示 384
12.7.4 文本框TextField 385
12.7.5 文本区TextArea 386
12.7.6 组合框ComboBox 387
12.7.7 列表视图ListView 388
12.7.8 表格视图TableView 390
12.7.9 菜单栏MenuBar 393
12.7.10 图表JavaFX Chart 394
习题 398
附录 399
附录Ⅰ Java SE 17新特性简介 399
附录Ⅱ Eclipse、IntelliJ IDEA和NetBeans安装 399
附录Ⅲ JavaFX多媒体编程 399
附录Ⅳ JavaFX动画编程 399
附录Ⅴ ASCII字符集 399
PDF更新中
- THE END -

非特殊说明,本博所有文章均为博主原创。