Java程序设计 慕课版

Java程序设计 慕课版 pdf epub mobi txt 电子书 下载 2025

龚炳江,文志诚 著
图书标签:
  • Java
  • 程序设计
  • 慕课版
  • 入门
  • 基础
  • 面向对象
  • 数据结构
  • 算法
  • 编程
  • 计算机
想要找书就要到 静流书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 人民邮电出版社
ISBN:9787115417046
版次:1
商品编码:11901633
包装:平装
开本:16开
出版时间:2016-04-01
用纸:胶版纸
页数:408
正文语种:中文

具体描述

产品特色

编辑推荐

人邮学院30小时慕课教学视频同步讲解,让学习更高效快捷
180个精彩课堂案例,12个课堂实验,1个综合案例,Java学习从入门到精通
66道习题,300道自测题,5套自测试卷,巩固所学知识
提供免费教学资源,包括精品教学PPT、案例源代码、自测题库、拓展综合案例

内容简介

本书系统地介绍Java程序设计的基础知识、开发环境与开发工具。全书共分16章,内容包括Java程序设计语言概述、Java语言的基本语法、运算符与流程控制、面向对象基础、继承与多态、接口、异常处理、常用的实用类、集合、Java输入与输出、Swing程序设计、Swing高级应用、多线程、网络程序设计、JDBC数据库编程、腾宇超市管理系统。本书所有知识都以结合具体实例的形式进行介绍,力求详略得当,使读者快速掌握Java程序设计的方法。书后附有上机实验,供读者实践练习。
本书为慕课版教材,各章节主要内容配备了以二维码为载体的微课,并在人邮学院平台上提供了慕课。此外,本书还提供了课程资源包,资源包中提供有本书所有实例、上机指导、综合案例和课程设计的源代码,制作精良的电子课件PPT,自测试卷等内容。资源包也可在人邮学院上下载。其中,源代码全部经过精心测试,能够在Windows 7、Windows 8、Windows 10系统下编译和运行。

作者简介

明日科技,程序设计类畅销图书作者,绝大多数品种在“全国计算机图书排行榜”同品种排行中名列前茅,累计销售百万册。作者编写的《Java 从入门到精通》长期占据各网店排行榜的榜首位置。

内页插图

目录

第1章 Java语言概述 1
1.1 Java语言诞生背景 2
1.2 Java简介 2
1.3 Java语言的特点 2
1.4 Java的运行机制 3
1.5 JDK安装 4
1.5.1 下载JDK 4
1.5.2 安装JDK 5
1.5.3 Windows系统下配置和测试JDK 7
1.6 Java SE 8的新特性 9
1.7 Java程序开发过程 9
1.8 Java开发工具Eclipse 10
1.8.1 Eclipse简介 10
1.8.2 Eclipse的安装与启动 10
1.8.3 Eclipse编写Java程序的流程 12
1.9 编程风格 15
1.10 Java API简介 16
1.10.1 下载Java API 16
1.10.2 在线查看API 17
小结 18
习题 18
第2章 Java语言的基本语法 19
2.1 关键字和标识符 20
2.1.1 Unicode字符集 20
2.1.2 关键字 20
2.1.3 标识符 20
2.2 常量与变量 21
2.2.1 常量的概念及使用要点 21
2.2.2 变量的概念及使用要点 22
2.3 数据类型 22
2.3.1 基本数据类型 23
实例:使用基本数据类型定义员工的年龄
实例:为boolean型变量赋值并输出
2.3.2 引用数据类型 27
实例:使用引用类型定义员工的姓名
2.3.3 基本类型与引用类型的区别 29
实例:基本数据类型与引用数据类型
2.3.4 数据类型之间的相互转换 31
2.4 数组 33
2.4.1 声明数组 33
2.4.2 创建数组 34
2.4.3 初始化数组 34
2.4.4 数组长度 34
2.4.5 使用数组元素 35
小结 35
习题 36
第3章 运算符与流程控制 37
3.1 运算符 38
3.1.1 赋值运算符 38
3.1.2 算术运算符 38
3.1.3 关系运算符 39
3.1.4 逻辑运算符 40
3.1.5 位运算符 42
实例:逻辑位运算符的运算规则
实例:移位运算符的运算规则
3.1.6 对象运算符 44
3.1.7 其他运算符 44
3.1.8 运算符的优先级别及结合性 45
3.2 if语句 46
3.2.1 简单的if条件语句 46
实例:使用if语句求出c的最终结果
实例:在腾宇超市管理系统中判断用户添加的信息是否完整
3.2.2 “if...else”条件语句 47
实例:用“if...else”语句判断69与29的大小
实例:在腾宇超市管理系统的显示采购订货窗体中,将用户选择的采购订货信息保存在文本文件中
3.2.3 “if...else if”多分支语句 49
3.2.4 if语句的嵌套 50
实例:用“if...else”嵌套实现:判断英语成绩得78分是处在什么阶段
3.3 switch多分支语句 51
实例:用switch语句判断,在10、20、30之间是否有符合5乘以7的结果
3.4 if语句和switch语句的区别 53
3.5 循环语句 53
3.5.1 while循环语句 53
实例:计算1~99的整数和
3.5.2 “do...while”循环语句 54
实例:计算1~100的整数和
3.5.3 for循环语句 55
实例:用for循环语句实现打印1~10的所有整数
实例:在人员管理窗体中,查询所有部门信息,并显示
3.5.4 for-each风格的for循环 57
3.5.5 循环的嵌套 57
实例:打印九九乘法表
实例:求100以内能被3和7整除的数
3.6 跳转语句 60
3.6.1 break跳转语句 60
实例:求10以内的素数
3.6.2 continue跳转语句 60
实例:求100以内能被9整除的数
3.6.3 return跳转语句 61
实例:以List形式返回指定部门员工信息,并显示
小结 62
习题 62
第4章 面向对象基础 63
4.1 面向对象程序设计 64
4.1.1 面向对象程序设计概述 64
4.1.2 面向对象程序设计的特点 64
4.2 类 65
4.2.1 定义类 65
4.2.2 成员变量和局部变量 67
4.2.3 成员方法 68
实例:实现两数相加
实例:按部门名称查询部门编号
4.2.4 注意事项 70
4.2.5 类的UML图 70
4.3 构造方法与对象 71
4.3.1 构造方法的概念及用途 71
实例:定义Apple类,在该类的构造方法中初始化成员变量
4.3.2 对象概述 73
实例:定义一个类,创建该类的对象,同时改变对象的成员变量的值,并调用该对象的成员方法
实例:创建User对象并赋值
4.4 类与程序的结构关系 75
4.5 参数传值 75
4.5.1 传 值 机 制 75
4.5.2 基本数据类型的参数传值 76
实例:在Point类中定义一个add方法,并向add方法传递两个参数
4.5.3 引用类型参数的传值 76
实例:创建Car类和fuelTank类,实现引用类型参数的传值
4.6 对象的组合 77
4.6.1 组合与复用 77
实例:计算圆锥的体积
4.6.2 类的关联关系和依赖
关系的UML图 78
4.7 实例方法与类方法 79
4.7.1 实例方法与类方法的定义 79
4.7.2 实例方法和类方法的区别 79
4.8 this关键字 79
实例:创建类文件,并将方法的参数值赋予类中成员变量
实例:在项目中创建类文件,定义方法,并通过this关键字返回
实例:在类中定义成员变量,并在成员方法中定义局部变量,用this关键字在成员方法中使用成员变量
实例:使用this关键字为User类的属性赋值
4.9 包 81
4.9.1 包的概念 81
4.9.2 创建包 82
实例:为腾宇超市系统各部分功能创建包
4.9.3 使用包中的类 82
4.10 import语句 83
4.10.1 类的两种访问方法 83
4.10.2 引入类库中的类 83
实例:在腾宇超市管理系统上显示时钟
4.11 访问权限 84
小结 86
习题 86
第5章 继承与多态 88
5.1 继承简介 89
5.1.1 继承的概念 89
5.1.2 子类的设计 89
实例:实现带背景的窗体
5.1.3 继承的使用原则 90
实例:定义一个动物类Animal及它的子类Bird
5.1.4 使用super关键字 91
5.2 子类的继承 92
实例:定义三个类实现子类继承
5.3 多态 94
5.3.1 方法的重载 94
实例:在Calculate类中定义两个名称为getArea()的方法和两个名称为draw()的方法
5.3.2 避免重载出现的歧义 95
5.3.3 方法的覆盖 95
实例:定义类Animal及它的子类,然后在Zoo类中分别创建各个子类对象,并覆盖父类
方法
5.3.4 向上转型 97
实例:创建抽象的动物类,实现向上转型
5.4 抽象类 98
5.4.1 抽象类和抽象方法 98
实例:定义类Fruit,在该类中定义一个抽象方法,同时在其子类中实现该抽象方法
5.4.2 抽象类和抽象方法的规则 99
5.4.3 抽象类的作用 100
5.5 final修饰符 100
5.5.1 final变量 100
5.5.2 final类 101
实例:创建一个名称为Final-Demo的final类
5.5.3 final方法 101
5.6 内 部 类 101
5.6.1 成员内部类 102
实例:创建成员内部类的实例对象,并调用该对象的print()方法
5.6.2 局部内部类 103
实例:创建局部内部类的实例对象,并调用price()方法输出单价信息
5.6.3 静态内部类 104
实例:创建静态内部类的实例对象,并执行introduction()方法
5.6.4 匿名内部类 105
实例:创建匿名内部类,编写print()方法,并打印一条信息
小结 106
习题 106
第6章 接口 107
6.1 接口简介 108
6.2 定义接口 108
实例:定义一个Calculate接口,在该接口中定义一个常量PI和两个方法
6.3 接口的继承 108
6.4 接口的实现 109
实例:定义两个接口,并且在这两个接口中声明一个同名的常量和一个同名的方法,然后再定义一个同时实现这两个接口的类
实例:在窗体中实现滚动微调处理器
6.5 接口与抽象类 112
6.6 接口的UML图 112
6.7 接口回调 113
实例:使用接口回调技术
6.8 接口与多态 114
实例:使用Dog类和Cat类都实现了接口Animals接口
6.9 接口参 数 115
实例:实现接口的回调参数
6.10 面向接口编程 115
小结 116
习题 116
第7章 异常处理 117
7.1 异常 118
7.2 异常处理 119
7.2.1 使用“try...catch”语句 119
实例:创建修改采购订货信息方法
7.2.2 finally子句的用法 121
实例:代码出现异常仍然执行finally
7.2.3 使用throws关键字抛出异常 122
实例:在dofile()方法声明中抛出一个IOException异常
7.2.4 使用throw关键字 122
实例:创建People类,抛出异常,并捕获异常进行处理
7.2.5 使用异常处理语句的注意事项 123
7.3 异常类 125
7.3.1 Error类 125
7.3.2 Exception类 126
7.4 自定义异常 127
实例:自定义一个异常类
7.5 异常的使用原则 129
小结 129
习题 129
第8章 常用的实用类 130
8.1 String类 131
8.1.1 创建字符串对象 131
8.1.2 连接字符串 131
?实例:通过运算符“+”连接字符串
实例:通过运算符“+”连接查询字符串
8.1.3 字符串操作 133
8.1.4 格式化字符串 138
8.1.5 对象的字符串表示 139
实例:继承Object类的子类重写toString()方法
8.2 日期的格式化 140
8.2.1 Date类 140
8.2.2 格式化日期和时间 140
8.3 Scanner类 142
实例:实现在控制台上输入姓名、年龄、地址
8.4 Math和Random类 143
8.5 数字格式化 144
8.5.1 Formatter类 144
8.5.2 格式化整数 144
8.5.3 格式化浮点数 145
8.6 StringBuffer类 146
8.6.1 StringBuffer对象的创建 146
8.6.2 StringBuffer类的常用方法 147
8.7 包装类 148
8.7.1 Integer 148
实例:以int型变量作为参数创建Integer对象
实例:以String型变量作为参数创建Integer对象
实例:创建类Summation,定义String数组,将元素转化成int型,并相加
8.7.2 Boolean 151
实例:在类GetBoolean中以不同的构造方法创建Boolean对象,并调用booleanValue()方法,然后转换为boolean数据输出
实例:将String类型中的元素转换成int型,并将各元素相加
实例:将字符变量以二进制、十六进制和八进制形式输出
实例:在主方法中将Integer类的常量值输出
8.7.3 Byte 152
实例:以String型变量作为参数,创建Byte对象
8.7.4 Character 153
实例:在类UpperOrLower的主方法中创建Character类的对象,并判断字符的大小写状态
8.7.5 Double 154
8.7.6 Number 155
小结 155
习题 156
第9章 集合 157
9.1 集合中主要接口的概述 158
9.2 Collection接口 158
9.2.1 addAll()方法 159
实例:使用addAll()方法向集合中添加对象
9.2.2 removeAll()方法 160
实例:使用removeAll()方法从集合中移除对象
9.2.3 retainAll()方法 161
实例:实现仅保留list集合中同时包含在list2集合中的对象
9.2.4 containsAll()方法 162
实例:使用containsAll ()方法查看在集合list中是否包含集合list2中的所有对象
9.2.5 toArray()方法 162
实例:使用toArray ()方法获得一个包含所有对象的指定类型的数组
9.3 List集合 163
9.3.1 List的用法 163
实例:测试add(int index, Object obj)方法和set(int index, Object obj)方法的区别
实例:测试indexOf(Object obj)方法和lastIndexOf(Object obj)方法的区别
实例:使用subList()方法
9.3.2 使用ArrayList类 165
实例:编写一个模仿经常需要随机访问集合中对象的例子
实例:使用List集合根据订单号查询订货信息
9.3.3 使用LinkedList类 167
实例:使用LinkedList类
9.4 Set集合 169
9.4.1 使用HashSet类 169
实例:使用HashSet类
9.4.2 使用TreeSet类 171
实例:使用TreeSet类
实例:自定义比较器
9.5 Map集合 177
9.5.1 Map的用法 177
实例:方法get()和containsKey()的区别
9.5.2 使用HashMap类 178
实例:利用HashMap类实现Map集合
9.5.3 使用TreeMap类 181
实例:使用TreeMap类
小结 182
习题 182
第10章 Java输入与输出 183
10.1 File类 184
实例:在C盘存在一个“Example1.txt”文件,使用File类获取文件信息
10.2 流 185
10.2.1 流的基本概念 185
10.2.2 输入输出流 185
10.3 字节流 187
10.3.1 InputStream类与OutputStream类 187
10.3.2 FileInputStream类与FileOutputStream类 188
实例:读取文本文件中保存的要修改的采购订货信息的编号
实例:将用户选择的采购订货信息的编号写入文本文件中
10.4 字符流 190
10.4.1 Reader类与Writer类 190
10.4.2 InputStreamReader类与OutputStreamWriter类 191
实例:创建两个File类的对象,分别判断两个文件是否存在
10.4.3 FileReader类与FileWriter类 194
10.4.4 BufferedReader类与BufferedWriter类 195
实例:使用BufferedReader类和BufferedWriter类实现文件复制
10.4.5 PrintStream类与PrintWriter类 197
实例:随机输出100以内的5个数,并把这5个数保存到文件中
10.4.6 System.in获取用户输入 199
实例:实现键盘输入,把输入的内容存储到文件中
10.5 RandomAccessFile类 200
实例:创建int型数组,然后写入到文件中,最后按倒序读出这些数据
10.6 过滤器流 202
10.7 对象序列化(Object Serialization) 202
10.7.1 ObjectInput与ObjectOutput 203
10.7.2 ObjectInputStream与ObjectOutputStream 203
实例:在C盘存在文件“Exam-ple10.txt”。实现用户密码的修改
小结 205
习题 205
第11章 Swing程序设计 206
11.1 Swing概述 207
11.2 创建窗体 207
实例:编写创建窗体类
11.3 常用布局管理器 208
11.3.1 不使用布局管理器 209
实例:在不使用任何布局管理器的情况下实现登录窗口
11.3.2 FlowLayout布局管理器 210
实例:流布局管理器示例
11.3.3 BorderLayout布局管理器 211
实例:边界布局管理器示例
11.3.4 GridLayout布局管理器 212
实例:使用网格布局管理器创建功能按钮面板
11.4 常用面板 213
11.4.1 JPanel面板 213
实例:实现一个带有显示器的计算器界面
实例:为拼图游戏创建面板
11.4.2 JScrollPane面板 215
实例:应用滚动面板
11.5 常用组件 217
11.5.1 JLabel(标签)组件 217
实例:在修改订货信息窗体中,设置文本框中的内容
11.5.2 JButton(按钮)组件 218
实例:实现一个典型的按钮
11.5.3 JRadioButton(单选按钮)组件 219
实例:用来填写性别的单选按钮组
11.5.4 JCheckBox(复选框)组件 220
实例:用来填写爱好的复选框
实例:使用网格布局管理器创建功能按钮面板
11.5.5 JComboBox(选择框)组件 222
实例:创建用来填写学历的选择框
11.5.6 JList(列表框)组件 223
实例:用来填写爱好的列表框
11.5.7 JTextField(文本框)组件 225
实例:创建用来填写姓名的文本框
实例:在基本档案窗体中实现文本框功能
11.5.8 JPasswordField(密码框)组件 227
实例:创建用来填写密码的密码框
实例:在登录的时候实现密码框功能
11.5.9 JTextArea(文本域)组件 229
实例:实现一个文本域,文本域的列数为15,行数为3,并且文本自动换行
11.6 常用事件处理 230
11.6.1 动作事件处理 230
实例:编写一个用来演示由按钮触发动作事件的示例
实例:在“部门”下拉列表框中添加监听事件
11.6.2 焦点事件处理 233
实例:编写一个用来演示由文本框触发焦点事件的示例
11.6.3 鼠标事件处理
实例:编写一个用来演示鼠标事件的示例
11.6.4 键盘事件处理 236
实例:编写一个用来演示键盘事件的示例
11.7 拼图游戏 238
11.7.1 游戏简介 238
11.7.2 设计思路 238
11.7.3 开发步骤 240
小结 243
习题 244
第12章 Swing高级应用 245
12.1 表格 246
12.1.1 创建表格 246
实例:在窗体中创建可以滚动的表格
12.1.2 定义表格 247
实例:在窗体中定义表格
12.1.3 操作表格 251
实例:在窗体的表格中添加按钮
12.1.4 利用表格模型创建表格 253
实例:利用表格模型创建表格,并使用表格排序器
12.1.5 维护表格模型 255
实例:维护表格模型
12.2 树 258
12.2.1 简单的树 258
实例:创建简单的树
12.2.2 处理选中节点事件 260
实例:处理选中节点事件
12.2.3 遍历树节点 262
实例:遍历树节点
12.2.4 处理展开节点事件 264
实例:处理展开节点事件
12.3 组件面板 265
12.3.1 分割面板 265
实例:设置分割面板的相关属性
12.3.2 选项卡面板 268
实例:设置选项卡面板的相关属性
12.4 菜单 271
12.4.1 创建菜单栏 271
实例:创建菜单栏
12.4.2 创建弹出式菜单 273
实例:创建弹出式菜单
12.4.3 定制个性化菜单 273
实例:定制个性化菜单
12.5 工具栏 277
实例:创建工具栏
12.6 进度条 278
实例:使用进度条
小结 280
习题 280
第13章 多线程 281
13.1 线程概述 282
13.2 线程的创建 283
13.2.1 线程的创建方式 283
13.2.2 继承Thread类 284
实例:创建SimpleThread线程类,该类将创建的两个线程同时在控制台输出信息
13.2.3 实现Runnable接口 284
实例:创建SimpleRunnable类,该类实现了Runnable接口,并通过run()方法实现每间隔0.5秒在控制台输出一个“*”字符,直到输出15个“*”字符
13.3 线程的生命周期 285
13.4 线程的优先级 286
13.5 线程的控制 287
13.5.1 线程的启动 287
实例:使用多线程技术实现用户进入聊天室
13.5.2 线程的挂起 287
13.5.3 线程状态检查 289
13.5.4 结束线程 289
实例:在网络聊天中结束聊天功能
13.5.5 后台线程 291
13.6 线程的同步 291
实例:在项目中创建Thread-SafeTest类,该类实现了Runnable接口,主要实现模拟火车站售票系统的功能
实例:创建两个线程同时调用PrintClass类的printch()方法打印字符,把printch()方法修饰为同步和非同步方法
实例:创建两个线程同时调用PrintClass类的printch()方法打印字符,把printch()方法中的代码修饰为同步和非同步代码块
13.7 线程通信 295
实例:创建线程实现上文中水塘的进水和排水
实例:使用多线程技术实现消息的不间断收发
13.8 多线程产生死锁 299
小结 299
习题 300
第14章 网络程序设计 301
14.1 基础知识 301
14.1.1 TCP 302
14.1.2 UDP 302
14.2 IP地址封装 302
实例:测试IP“192.168.1.100”至“192.168.1.150”范围内的所有可访问的主机的名称
实例:在网络聊天中实现IP地址的获取
14.3 套接字 304
14.3.1 服务器端套接字 304
14.3.2 客户端套接字 306
实例:检测本地计算机中被使用的端口,端口的检测范围是1~256
实例:实例化客户器端套接字
实例:创建服务器Server程序和客户端Client程序,并实现简单的Socket通信程序
14.4 数据报 310
14.4.1 DatagramPacket 310
14.4.2 DatagramSocket 311
实例:实现简单的UDP通信
14.5 网络聊天程序开发 313
小结 317
习题 318
第15章 JDBC数据库编程 319
15.1 JDBC概述 320
15.1.1 JDBC-ODBC桥技术介绍 320
15.1.2 JDBC技术介绍 320
15.1.3 JDBC驱动类型 321
15.2 JDBC中的常用类和接口 322
15.2.1 Driver接口 322
15.2.2 DriverManager类 322
15.2.3 Connection接口 322
15.2.4 Statement接口 323
15.2.5 PreparedStatement接口 324
15.2.6 CallableStatement接口 325
15.2.7 ResultSet接口 326
15.3 连接数据库 328
15.3.1 加载JDBC驱动程序 328
实例:加载SQL Server 2008数据库驱动程序到JVM中
实例:为滕宇超市系统加载数据库驱动
15.3.2 创建数据库连接 329
实例:与数据库建立连接的典型代码
实例:创建滕宇超市系统与数据库连接
15.3.3 执行SQL语句 330
实例:在仓库入库窗体中,修改仓库入库信息
15.3.4 获得查询结果 331
15.3.5 关闭连接 331
15.4 操作数据库 332
15.4.1 添加数据 332
实例:通过Statement实例执行静态INSERT语句添加单条记录
实例:通过PreparedState-ment实例执行动态INSERT语句批量添加记录
实例:通过CallableStatement实例执行存储过程批量添加记录
实例:通过PreparedStatement实例执行动态INSERT语句添加单条记录
实例:通过CallableStatement实例执行存储过程添加单条记录
实例:在添加员工窗体中实现添加功能
15.4.2 查询数据 336
实例:通过Statement实例执行静态SELECT语句查询记录
实例:通过PreparedStatement实例执行动态SELECT语句查询记录
实例:根据客户地址查询信息
15.4.3 修改数据 338
实例:通过Statement实例每次执行一条UPDATE语句
实例:通过PreparedState-ment实例一次执行多条UPDATE语句
实例:在仓库出库窗体中实现对信息的修改
15.4.4 删除数据 341
实例:通过Statement实例每次执行一条DELETE语句
实例:通过PreparedStatement实例一次执行多条DELETE语句
实例:在仓库出库窗体中实现对信息的删除
15.5 应用JDBC事务 343
实例:应用JDBC事务
小结 347
习题 347
第16章 综合案例——腾宇超市管理系统 348
16.1 项目设计思路 349
16.1.1 功能阐述 349
16.1.2 系统预览 349
16.1.3 功能结构 349
16.1.4 文件组织结构 350
16.2 数据库设计 350
16.2.1 数据库设计 350
16.2.2 数据表设计 350
16.3 公共类设计 352
16.3.1 连接数据库 352
16.3.2 获取当前系统时间类 353
16.4 登录模块设计 353
16.4.1 登录模块概述 353
16.4.2 实现带背景的窗体 353
16.4.3 登录模块实现过程 354
16.5 主窗体设计 357
16.5.1 主窗体概述 357
16.5.2 平移面板控件 357
16.5.3 主窗体实现过程 360
16.6 采购订货模块设计 362
16.6.1 采购订货模块概述 362
16.6.2 在表格中添加按钮 362
16.6.3 添加采购订货信息实现过程 363
16.6.4 搜索采购订货信息实现过程 365
16.6.5 修改采购订货信息实现过程 367
16.6.6 删除采购订货信息实现过程 370
16.7 人员管理模块设计 371
16.7.1 人员管理模块概述 371
16.7.2 使用触发器级联删除数据 371
16.7.3 显示查询条件实现过程 372
16.7.4 显示员工基本信息实现过程 374
16.7.5 添加员工信息实现过程 376
16.7.6 删除员工信息实现过程 379
16.8 在Eclipse中实现程序打包 380
小结 382
附录A 上机实验 383
实验1 Java基础 384
实验目的 384
实验内容 384
实验2 程序流程控制 385
实验目的 385
实验内容 386
实验3 类的继承 387
实验目的 387
实验内容 387
实验4 使用集合类 388
实验目的 388
实验内容 388
实验5 数据流 389
实验目的 389
实验内容 389
实验6 线程控制 390
实验目的 390
实验内容 390
实验7 异常处理 391
实验目的 391
实验内容 391
实验8 Swing程序设计 392
实验目的 392
实验内容 392
实验9 网络程序设计 394
实验目的 394
实验内容 394
实验10 通过JDBC方式操作数据库 394
实验目的 394
实验内容 395
实验11 计算器 397
实验目的 397
实验内容 397
实验12 日志簿 401
实验目的 401
实验内容 401

前言/序言


编程的基石:精通Java,开启无限可能 在这个数字浪潮席卷全球的时代,掌握一门强大的编程语言,就如同拥有了一把解锁未来世界的钥匙。而Java,作为当之无愧的编程巨擘,凭借其跨平台、面向对象、安全可靠等卓越特性,已经深深地渗透到我们生活的方方面面。从支撑庞大企业级应用到驱动智能手机上的无数App,再到构建高性能的服务器端系统,Java的身影无处不在。 本书并非一本枯燥的语法手册,而是旨在带领您构建扎实的Java编程功底,理解编程思维的精髓,并最终能够独立运用Java语言解决实际问题,创造出属于自己的精彩。我们将从最基础的概念出发,一步步深入探索Java的核心机制,引导您掌握编写健壮、高效、可维护代码的艺术。 第一部分:Java编程的基石 踏入Java的世界,首先需要理解的是编程的本质——如何用计算机能够理解的语言来表达我们的想法,并让它按照我们的意愿去执行。 认识Java: 我们将从Java的诞生背景、核心理念以及它为何能在众多编程语言中脱颖而出开始。了解Java虚拟机(JVM)的运作原理,理解“一次编写,到处运行”的魔力,以及Java在生态系统中的重要地位,能帮助您从宏观上把握这门语言的强大之处。 搭建您的开发环境: 实践是检验真理的唯一标准。我们将指导您如何安装Java开发工具包(JDK),并配置一个高效的集成开发环境(IDE),例如Eclipse或IntelliJ IDEA。掌握IDE的使用技巧,将大大提升您的开发效率,让您专注于代码逻辑而不是繁琐的配置。 变量、数据类型与运算符: 这是编程中最基本也最重要的组成部分。您将学习Java提供的各种基本数据类型,如整型、浮点型、字符型和布尔型,以及如何声明和使用变量来存储和操作数据。掌握算术运算符、关系运算符、逻辑运算符以及位运算符,将让您能够进行各种复杂的数据计算和逻辑判断。 控制流语句: 程序之所以能够做出决策和循环执行任务,全依赖于控制流语句。我们将深入讲解条件语句(`if-else`,`switch`),让您的程序能够根据不同的情况做出不同的反应;以及循环语句(`for`,`while`,`do-while`),使您的程序能够重复执行某个任务,直至满足特定条件。这些是构建任何复杂程序的基础。 数组: 当您需要存储一组同类型的数据时,数组就派上了用场。您将学习如何声明、创建和访问一维数组,以及如何进行数组的初始化和遍历。理解数组的内存模型,将有助于您更有效地利用内存资源。 第二部分:面向对象编程(OOP)的魅力 Java之所以如此强大,很大程度上归功于其对面向对象编程范式的完美支持。 this部分将是本书的核心,它将彻底改变您对软件开发的认知。 类与对象: 面向对象的核心在于“类”和“对象”。我们将形象地解释类是如何定义事物的属性(数据)和行为(方法),而对象则是类的具体实例。您将学会如何定义自己的类,创建对象,并理解对象之间的交互是如何构建复杂系统的。 封装、继承与多态: 这是面向对象的三大特性,它们是构建可维护、可扩展代码的关键。 封装: 您将学习如何通过访问修饰符(`public`, `private`, `protected`)来控制数据的访问权限,保护类内部的数据不被外部随意修改,并通过getter和setter方法提供受控的访问接口。 继承: 掌握继承机制,可以帮助您避免代码冗余。您将学会如何创建父类(超类)和子类(派生类),让子类继承父类的属性和方法,并可以根据自身需求进行扩展或重写。 多态: 多态是面向对象中最具表现力的特性之一。您将理解方法重写(Overriding)和方法重载(Overloading)的区别,以及如何利用接口和抽象类来实现多态,从而编写出更具灵活性和通用性的代码。 构造方法与`this`关键字: 构造方法是创建对象时自动调用的特殊方法,您将学习如何定义和使用构造方法来初始化对象的属性。`this`关键字则用于区分当前对象的成员变量和局部变量,或调用当前对象的其他构造方法。 静态成员(`static`): 理解`static`关键字的作用,能让您创建类级别的成员,这些成员不属于任何特定的对象,而是属于整个类。这在实现单例模式、工具类等方面非常有用。 包(Package)的管理: 随着项目规模的增大,对类进行组织和管理变得至关重要。我们将讲解如何使用包来组织类,避免命名冲突,并提高代码的可读性和可维护性。 第三部分:Java的高级特性与实践 掌握了基础和面向对象的核心概念后,我们将进一步深入Java的强大功能,并开始将所学知识应用于实际场景。 接口与抽象类: 它们是实现抽象和多态的重要工具。您将学习接口的定义和实现,理解其“契约”的作用;以及抽象类的设计,如何定义抽象方法,让子类必须实现。 集合框架(Collections Framework): 在实际开发中,我们经常需要处理一组数据。Java提供了强大的集合框架,包括`List`、`Set`、`Map`等接口及其实现类,如`ArrayList`、`HashSet`、`HashMap`。您将学习如何选择合适的集合类型,并高效地进行数据的存储、查找和管理。 异常处理(Exception Handling): 任何程序都可能遇到意外情况。Java的异常处理机制能够帮助您优雅地处理程序运行中出现的错误,保证程序的健壮性。您将学习`try-catch-finally`块的使用,理解Checked Exception和Unchecked Exception的区别,并学会如何自定义异常。 I/O流: 程序需要与外部世界进行交互,最常见的方式就是通过输入输出(I/O)流。我们将讲解文件操作、字节流、字符流以及缓冲流等,让您能够读取和写入文件,处理网络通信中的数据。 多线程编程(Multithreading): 在需要同时执行多个任务的场景下,多线程编程是必不可少的。您将学习如何创建和管理线程,理解线程的生命周期,并掌握线程同步机制,以避免数据竞争和死锁等问题。 泛型(Generics): 泛型可以在编译时期检查类型安全,消除对类型强制转换的需要,并提高代码的可重用性。您将学习如何定义和使用泛型类、泛型接口和泛型方法。 Lambda表达式与Stream API(Java 8及以后): 这是Java语言现代化的重要体现。Lambda表达式提供了一种简洁的函数式编程风格,而Stream API则提供了一种声明式的、高效的数据处理方式。它们将极大地简化您的代码,并提升处理集合数据的效率。 第四部分:构建高质量Java应用程序 理论知识的掌握最终需要转化为实际的开发能力。这一部分将聚焦于如何编写高质量、易于维护的Java代码,并了解一些常见的开发实践。 代码规范与最佳实践: 编写清晰、易读、易于理解的代码是专业程序员的基本素养。我们将介绍Java编码规范,以及一些通用的编程技巧,如命名约定、代码注释、模块化设计等。 常用Java API的应用: Java提供了丰富而强大的API(应用程序编程接口),涵盖了日期时间、字符串处理、数学计算等方方面面。您将了解并学会使用这些常用的API,以避免重复造轮子,并提高开发效率。 初步接触设计模式: 设计模式是解决软件开发中常见问题的成熟方案。虽然本书不深入探讨所有设计模式,但我们将介绍一些基础且常用的模式,如单例模式、工厂模式等,让您了解它们的作用和价值,为后续深入学习打下基础。 单元测试的重要性: 编写单元测试是保证代码质量的关键环节。您将了解单元测试的基本概念,并接触JUnit等测试框架,学习如何为自己的代码编写测试用例,确保程序的正确性。 学习方法与进阶建议: 本书采用循序渐进的方式,每个章节都围绕着清晰的目标展开。我们鼓励您在阅读理论知识的同时,立即动手实践。每一个代码示例都经过精心设计,旨在帮助您巩固所学。 勤于动手: 尝试修改示例代码,观察结果变化,加深理解。 主动思考: 在学习新概念时,尝试用自己的话来解释它,并思考它在实际开发中的应用场景。 解决问题: 遇到困难时,不要轻易放弃,尝试通过查阅资料、调试代码来找到解决方案。 持续学习: Java技术发展日新月异,掌握本书内容后,建议您继续深入学习Java的Web开发(如Spring框架)、Android开发,或者深入理解JVM的内部机制等,不断拓展您的技术栈。 通过本书的学习,您将不仅能够熟练掌握Java这门强大的编程语言,更能培养起严谨的编程思维和解决实际问题的能力。期待您在Java的广阔天地中,创造出属于您的无限精彩!

用户评价

评分

作为一个已经接触过多种编程语言的开发者,我深知“精通”比“了解”要困难得多。对于Java,我之前也零散地学习过一些基础语法,但总感觉不够系统,尤其是在一些高级特性和最佳实践方面存在短板。我目前的需求是能够将Java的掌握程度提升到一个新的水平,能够编写出更加优雅、高效、易于维护的代码。因此,我希望找到一本能够深入剖析Java语言设计理念的书籍,它能告诉我为什么Java要这样做,而不是仅仅告诉你怎么做。比如,在讲解泛型时,我希望它能解释协变、逆变等概念,以及它们在实际开发中的应用。在多线程编程方面,我希望它能深入讲解`synchronized`、`Lock`接口、`ConcurrentHashMap`等并发工具的底层原理和使用场景。我还希望这本书能包含一些关于Java性能优化、代码重构、设计模式等方面的进阶内容,帮助我写出高质量的代码,并且能够理解和参与更复杂的项目。

评分

作为一名计算机专业的学生,我对编程语言的学习一直非常看重基础的牢固性。在接触Java之前,我已经学习过C++,对指针、内存管理等概念有一定的理解。因此,在学习Java时,我更倾向于能够深入解析其底层机制的书籍,而不仅仅是停留在API的调用层面。我希望这本书能够详细讲解Java虚拟机(JVM)的工作原理,包括类加载机制、内存模型(堆、栈、方法区等)、垃圾回收机制等。这些深层次的知识对于理解Java程序的运行效率、排查内存泄漏等问题至关重要。同时,我希望这本书能够介绍Java内存模型(JMM)的具体细节,以及它如何与多线程编程相结合,帮助我理解和编写线程安全的代码。我不太喜欢那种只告诉你怎么写代码,但不解释为什么的书。我需要知道为什么Java设计成这样,它的优势和劣势在哪里,以及在什么场景下选择Java是最佳方案。

评分

一直对编程领域充满好奇,尤其是Java,听说它的应用范围非常广,从大型企业级应用到Android开发,都少不了它的身影。我这人动手能力比较强,不太喜欢纸上谈兵,所以想找一本既有理论深度,又能指导实践的书。我最近在网上翻了翻,看到不少关于Java的书籍,但总觉得它们要么太理论化,要么就是代码堆砌,很难找到一个既能系统讲解原理,又能提供清晰易懂的案例的书。我理想中的Java入门书,应该能把那些复杂的概念,比如面向对象、集合框架、多线程等,用生动形象的比喻或者小故事讲出来,让我能一下子就明白,而不是死记硬背。同时,它应该提供大量的练习题和实际项目,让我能够边学边练,巩固知识,并且感受到编程的乐趣。我希望通过这本书,能够快速建立起扎实的Java基础,并且能独立完成一些小型的Java项目,为后续更深入的学习打下坚实的基础。我还在犹豫到底选择哪一本,毕竟市面上选择太多了,希望能找到一本真正能引领我入门的书。

评分

我是一位对技术充满热情的程序员,一直秉持着“学以致用”的原则。在选择技术书籍时,我最看重的是其理论与实践的结合度。我希望找到一本Java书籍,它能够不仅仅停留在概念的讲解,更能提供丰富的、贴近实际工作场景的代码示例和项目实战。比如,在讲解到异常处理时,我希望不仅仅是罗列`try-catch-finally`的用法,更能展示在不同业务场景下,如何设计健壮的异常处理机制,以及如何利用异常日志进行问题排查。对于集合框架,我希望能看到如何在实际项目中选择合适的集合类型,以及它们的性能差异和适用场景。更重要的是,我希望书中能提供一些完整的、有代表性的Java项目,比如一个简单的Web应用、一个数据处理工具等,让我能够从头到尾跟着完成,从中学习到完整的项目架构、模块设计、代码规范等方面的知识。我认为,只有通过实际的动手实践,才能真正地掌握一门编程语言。

评分

我是一名工作了几年的软件工程师,之前主要接触的是C和Python,现在因为项目需要,需要快速掌握Java。我不是零基础,对编程的基本概念和逻辑都比较熟悉,但对于Java特有的语法、API和开发模式,还需要一个高效的学习路径。我希望能找到一本能让我快速上手,并且能快速转化为生产力的Java书籍。理想的书籍应该能够快速梳理Java的核心特性,比如它的“一次编写,到处运行”的理念是怎么实现的,JVM是如何跨平台工作的。然后,能够重点讲解Java EE(或者Spring框架)相关的知识,因为这通常是企业级Java开发的主流。我希望书中能提供一些关于数据库连接、Web服务、RESTful API等方面的实践指南,并且最好能有实际的项目案例,让我能跟着敲一遍,理解整个开发流程。我不希望花太多时间在那些我比较熟悉的编程概念上,而是希望这本书能够聚焦Java特有的内容,并且能够快速 bridging我的现有知识体系。

评分

书很好用老师推荐的,可以买二手书,京东有

评分

这么多还没有一本本的来得及看,到时候看了在一本本追评。但是京东的送货确实快,上午购买,下午到!

评分

书很好用老师推荐的,可以买二手书,京东有

评分

还可以吧,书倒是挺不错的,从基础开始学起

评分

买的教材,物流还行,同学帮拿的。如果不好会追评

评分

本书系统地介绍了数据库基础,SQLServer2012安装与配置,创建和管理数据库等内容。下雨天放在纸箱里,很贴心。

评分

教材是正版的,也是很好的教材,推荐初学者自学使用。这次唯一不足就是物流出了点状况,没那么快送达,有点小失望

评分

这套2016年最新出版的编程零基础入门图书整体来说写的还是相当不错的,非常适合想学编程的朋友们入门使用。

评分

很有用的材料,对我很有用的。喜欢这本书。。。。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有