java程序设计入门_Java程序设计从入门到精通

Java程序设计从入门到精通

编辑

锁定

讨论

上传视频

《Java程序设计从入门到精通》是2018年1月电子工业出版社出版的图书,作者是毛雪涛、丁毓峰。

书    名

Java程序设计从入门到精通

作    者

毛雪涛、丁毓峰

ISBN

9787121327063

页    数

604页定    价

88元

出版社

电子工业出版社

出版时间

2018年1月

开    本

16开

Java程序设计从入门到精通内容简介

编辑

本书以基础知识与实际动手编码相结合为原则,以Java从基础到核心开发为主线,通过Java开发中的基本知识和常见的应用技术,介绍了实用性极强且频繁使用的Java技术。本书共18章,分为4篇。涵盖的主要内容有:Java理论基础、Java开发环境、Java语言基础、流程控制、字符串、数组、对象与类、继承和多态、JSP技术、多线程技术、Java异常处理和调试技术、I/O系统编程、Java数据库编程、Java网络编程、Java图形界面编程及两个综合案例。本书内容丰富、实例典型、实用性强,适合各个层次想要学习Java开发技术的读者阅读,尤其适合没有Java基础而又要快速成长为Java程序员的读者阅读。[1]

Java程序设计从入门到精通图书目录

编辑

第1篇 入门篇

第1章 认识Java 1

1.1 Java的发展史 1

1.1.1 Java起源 1

1.1.2 Java发展 2

1.2 Java是什么 2

1.2.1 Java语言 2

1.2.2 Java平台 3

1.2.3 Java网络操作系统 4

1.3 Java的特点 5

1.4 Java 8的新特性 6

1.5 Java程序类型 6

1.6 Java技术体系 7

1.7 Java虚拟机 8

1.7.1 Java虚拟机支持的数据类型 8

1.7.2 Java虚拟机的生命周期 9

1.7.3 Java虚拟机的体系结构 9

1.8 垃圾收集器 11

1.9 技术解惑 11

1.9.1 Java虚拟机如何实现跨平台运行 11

1.9.2 Java语言为什么一直名列编程语言前三甲 12

第2章 搭建Java开发环境 14

2.1 J2SE的下载和安装 14

2.1.1 J2SE的下载 15

2.1.2 J2SE的安装 16

2.2 环境变量的配置与测试 17

2.2.1 配置环境变量Path 17

2.2.2 配置环境变量CLASSPATH 18

2.2.3 环境变量的测试 19

2.3 API文档的下载与使用 20

2.4 第一个应用程序 21

2.4.1 HelloWorld程序 21

2.4.2 程序编译和运行命令 22

2.4.3 HelloWorld的编译和运行 24

2.5 简单开发工具介绍 26

2.5.1 使用EditPlus开发Java 26

2.5.2 使用UltraEdit开发Java 29

2.6 集成开发环境Eclipse介绍 33

2.6.1 Eclipse的下载与安装 33

2.6.2 Eclipse的透视图(Perspective) 35

2.6.3 Eclipse的视图(View) 37

2.6.4 Eclipse的编辑器 37

2.6.5 Eclipse的工具栏和菜单栏 38

2.6.6 用Eclipse编写HelloWorld程序 39

2.7 拓展训练 42

2.7.1 训练一:用“*”直接输出三角形 42

2.7.2 训练二:可爱的表情符号 43

2.8 技术解惑 44

2.8.1 为什么必须设置好环境变量 44

2.8.2 选择Eclipse的多个原因 44

第3章 Java语言基础 45

3.1 标识符 45

3.1.1 标识符的概念 45

3.1.2 变量的命名规则 46

3.1.3 变量的命名技巧 46

3.2 关键字 47

3.3 注释 48

3.4 数据类型 49

3.4.1 整型 49

3.4.2 浮点型 50

3.4.3 字符型 51

3.4.4 布尔型 52

3.5 变量与常量 52

3.5.1 变量声明 52

3.5.2 变量赋值和初始化 53

3.5.3 常量 53

3.6 类型转换 54

3.6.1 数据类型之间的自动转换 55

3.6.2 强制类型转换 56

3.7 运算符 57

3.7.1 算术运算符 58

3.7.2 关系运算符 59

3.7.3 逻辑运算符 59

3.7.4 位运算符 61

3.7.5 自动递增和递减 64

3.7.6 三元运算符 65

3.7.7 运算符的优先级 66

3.8 拓展训练 67

3.8.1 训练一:不借助第三者实现两个变量值的互换 67

3.8.2 训练二:获取浮点数的最大/最小值 68

3.8.3 训练三:实现字母的大小写转换 69

3.8.4 训练四:实现输入字符的加密和解密 72

3.9 技术解惑 73

3.9.1 三元运算符与if-else语句的不同之处 73

3.9.2 强制类型转换的规则是什么 73

第4章 流程控制 74

4.1 顺序结构 74

4.2 条件语句 76

4.2.1 if语句 76

4.2.2 if-else语句 78

4.2.3 if-else-if语句 80

4.2.4 if语句的嵌套 82

4.2.5 布尔表达式 85

4.2.6 开关语句 87

4.3 循环语句 90

4.3.1 while循环语句 90

4.3.2 do-while循环语句 92

4.3.3 for循环语句 93

4.3.4 循环的嵌套 96

4.4 转向语句 99

4.4.1 break中断语句 99

4.4.2 continue条件继续语句 101

4.4.3 标签语句 103

4.5 返回语句 106

4.6 拓展训练 109

4.6.1 训练一:水仙花数 109

4.6.2 训练二:判断某一年是否为闰年 110

4.6.3 训练三:根据收入情况计算个人所得税 112

4.6.4 训练四:打印九九乘法表 113

4.7 技术解惑 115

4.7.1 break和continue的区别 115

4.7.2 do-while和while的区别 115

第2篇 高级技术篇

第5章 字符串 116

5.1 字符串简介 116

5.1.1 字符串常量 117

5.1.2 String创建字符串对象 117

5.1.3 StringBuffer创建字符串对象 119

5.2 连接字符串 120

5.2.1 与字符串的连接 121

5.2.2 与其他数据类型的连接 121

5.3 String类操作 122

5.3.1 基本操作方法 122

5.3.2 比较 124

5.3.3 转换 127

5.3.4 查找 129

5.3.5 截取和拆分 130

5.3.6 替换或修改 132

5.4 StringBuffer类操作 134

5.4.1 基本操作 134

5.4.2 字符串操作方法 136

5.4.3 添加append() 139

5.4.4 插入insert() 140

5.5 拓展训练 142

5.5.1 训练一:字符串大小写转换 142

5.5.2 训练二:将数字货币金额转换为大写格式 143

5.5.3 训练三:当前日期的格式化 146

5.5.4 训练四:验证IP地址的有效性 148

5.5.5 训练五:获取字符串中单词的个数 149

5.6 技术解惑 150

5.6.1 String类和StringBuffer类有什么区别 150

5.6.2 为什么说String类是不可变类 151

第6章 数组 152

6.1 一维数组 152

6.1.1 数组的概念 153

6.1.2 一维数组的声明 153

6.1.3 一维数组的初始化 153

6.1.4 一维数组的使用 154

6.1.5 一维数组的空间模型 156

6.1.6 基本数据类型数组 158

6.1.7 对象数组 159

6.1.8 数组参数 160

6.2 二维数组和多维数组 161

6.2.1 二维数组的声明 161

6.2.2 二维数组的初始化 161

6.2.3 二维数组的空间模型 162

6.2.4 二维数组的应用 162

6.3 数组操作 164

6.3.1 Java 8增强的工具类:Arrays 164

6.3.2 排序 164

6.3.3 查找 166

6.3.4 复制 167

6.3.5 填充数据 170

6.3.6 比较 171

6.4 拓展训练 173

6.4.1 训练一:获取一维数组中的最大最小值 173

6.4.2 训练二:九宫格问题 175

6.4.3 训练三:杨辉三角 177

6.5 技术解惑 179

6.5.1 Array和Arrays的区别到底是什么 179

6.5.2 for和foreach在遍历数组时的区别 179

第7章 对象与类 180

7.1 面向对象程序设计 180

7.1.1 面向对象程序设计概述 180

7.1.2 面向对象程序设计的特点 181

7.1.3 对象与类的关系 182

7.2 类的定义 184

7.2.1 MasterCard类的实现 184

7.2.2 MasterCard类的使用 186

7.2.3 访问控制符 188

7.2.4 初识构造方法 190

7.2.5 方法的参数 191

7.2.6 封装与隐藏 192

7.2.7 finalize()方法 194

7.3 静态域与静态方法 194

7.3.1 静态域 195

7.3.2 静态方法 197

7.3.3 Math类 198

7.4 构造方法 200

7.4.1 默认域初始化 200

7.4.2 默认构造方法 200

7.4.3 拷贝构造方法 201

7.4.4 构造方法的重载 201

7.4.5 构造方法的调用 202

7.4.6 创建初始化块 202

7.5 包 204

7.5.1 包的概念 204

7.5.2 包的导入 204

7.5.3 包名与目录的关系 205

7.5.4 静态导入 207

7.5.5 Java包介绍 207

7.6 类设计技巧 208

7.7 实例:完善MasterCard类 209

7.7.1 构造方法 210

7.7.2 setter()方法 212

7.7.3 getter()方法 212

7.7.4 其他方法 213

7.8 main()方法 214

7.9 拓展训练 215

7.9.1 训练一:摄氏温度与华氏温度的转换 215

7.9.2 训练二:汉诺塔问题的解决 216

7.9.3 训练三:使用局部内部类实现闹钟的应用 218

7.10 技术解惑 220

7.10.1 final、finally、finalize的区别 220

7.10.2 静态代码块和静态方法的区别 221

第8章 Java中的继承 222

8.1 父类和子类 222

8.2 super()构造方法调用 223

8.3 封装和继承 225

8.4 使用继承 227

8.4.1 Object类 227

8.4.2 定义equals()方法 228

8.5 关于设计好继承的几点建议 229

8.6 实例:一卡通类的继承 230

8.6.1 构造方法 231

8.6.2 setter()方法 232

8.6.3 getter()方法 232

8.6.4 方法覆盖 233

8.6.5 equals()方法 233

8.6.6 其他需要强调的地方 234

8.7 拓展训练——领导和员工的差异 235

8.8 技术解惑 238

8.8.1 super语句必须是子类构造方法的第一句吗 238

8.8.2 equals()方法的用法和“==”的用法一致吗 238

第9章 更深一步:多态与抽象类 239

9.1 多态性的概念 239

9.2 重载 239

9.2.1 重载的概念 240

9.2.2 重载的注意事项 241

9.3 覆盖 242

9.3.1 覆盖的概念 242

9.3.2 覆盖与访问权限 243

9.3.3 静态方法覆盖 245

9.3.4 覆盖与异常抛出 246

9.3.5 抽象方法覆盖 247

9.3.6 覆盖与重载小结 247

9.4 绑定 249

9.4.1 静态绑定 249

9.4.2 动态绑定 250

9.5 抽象类 252

9.5.1 抽象类的概念 253

9.5.2 抽象类的应用 253

9.5.3 抽象类应用的注意事项 255

9.6 Java 8改进的接口 256

9.6.1 接口的概念 256

9.6.2 Java 8中接口的定义 257

9.6.3 使用接口 258

9.6.4 接口的继承 259

9.6.5 抽象类和接口 261

9.6.6 面向接口编程 262

9.7 Java 8新增的Lambda表达式 262

9.7.1 Lambda表达式入门 263

9.7.2 Lambda表达式与函数式接口 264

9.7.3 方法引用与构造器引用 265

9.7.4 Lambda表达式与匿名内部类的联系和区别 269

9.8 拓展训练——重写(覆盖)父类中的方法 270

9.9 技术解惑 272

9.9.1 什么是Java的动态绑定与静态绑定 272

9.9.2 抽象类到底有什么用 272

第10章 Java Web应用——JSP 273

10.1 JSP技术概述 273

10.2 JSP运行环境搭建 273

10.2.1 Tomcat安装 274

10.2.2 测试 276

10.2.3 第一个JSP程序 277

10.3 基本语法 278

10.3.1 HTML注释 278

10.3.2 隐藏注释 278

10.3.3 声明 279

10.3.4 表达式 279

10.3.5 脚本集(Scriptlet) 279

10.4 JSP指令元素 280

10.4.1 include指令 280

10.4.2 page指令 281

10.4.3 taglib指令 283

10.5 JSP动作元素 284

10.5.1 285

10.5.2 285

10.5.3 289

10.5.4 290

10.5.5 290

10.5.6 291

10.6 内置对象 292

10.6.1 out对象 292

10.6.2 request对象 294

10.6.3 response对象 296

10.6.4 session对象 298

10.6.5 application对象 299

10.6.6 pageContext对象 301

10.6.7 exception对象 303

10.6.8 config对象 305

10.7 拓展训练 305

10.7.1 训练一:一个注册页面 305

10.7.2 训练二:跨页传递数据 307

10.8 技术解惑 309

10.8.1 静态include指令和动态include指令的比较 309

10.8.2 指令和动作的区别 310

第3篇 核心技术篇

第11章 多线程 311

11.1 线程基础 311

11.1.1 什么是线程 312

11.1.2 Thread类创建线程的方法 312

11.1.3 Thread类创建线程的步骤 315

11.1.4 Runnable接口创建线程的方法 316

11.1.5 Runnable接口创建线程的步骤 318

11.2 线程的生命周期 319

11.2.1 线程的4种状态 320

11.2.2 线程的创建和启动 321

11.3 线程调度 322

11.4 线程同步 325

11.4.1 同步的概念 325

11.4.2 同步的格式 327

11.4.3 同步的应用 328

11.5 线程通信 330

11.5.1 生产者/消费者 330

11.5.2 共享队列 332

11.5.3 运行生产者/消费者 332

11.6 死锁 335

11.7 拓展训练 337

11.7.1 训练一:篮球运动员的比赛安排 337

11.7.2 训练二:ATM的实现 339

11.8 技术解惑 343

11.8.1 线程有哪5种基本状态,它们如何相互转换 343

11.8.2 如何让一个线程运行特定的时间后优雅地终止 343

第12章 异常处理 345

12.1 异常的概念 345

12.2 异常的基本样式 346

12.3 Java异常类 347

12.3.1 异常类的层次结构 348

12.3.2 异常处理方法 349

12.4 异常捕获 351

12.4.1 异常捕获处理语句块 351

12.4.2 必须执行语句块 354

12.4.3 必须执行语句块的意外 355

12.5 异常抛出 356

12.5.1 异常抛出的概念 357

12.5.2 throw 357

12.5.3 throws 359

12.5.4 抛出异常的步骤 361

12.6 自定义异常 362

12.6.1 创建用户自定义异常 362

12.6.2 捕获运行时异常 364

12.7 拓展训练 365

12.7.1 训练一:强制类型转换异常 365

12.7.2 训练二:找不到指定类时异常 366

12.8 技术解惑 367

12.8.1 如何优雅地处理异常 367

12.8.2 详解throw与throws关键字的用法区别 368

第13章 I/O系统 370

13.1 I/O概述 370

13.2 文件 371

13.2.1 File类 371

13.2.2 File类的应用 373

13.2.3 RandomAccessFile类 375

13.2.4 RandomAccessFile类的应用 376

13.3 字节流InputStream、OutputStream 379

13.3.1 字节输入、输出流 379

13.3.2 字节文件输入、输出流 381

13.3.3 字节缓冲输入、输出流 383

13.3.4 字节数据输入、输出流 385

13.3.5 字节对象输入、输出流 386

13.4 字符流Reader、Writer 390

13.4.1 字符读、写流 390

13.4.2 字符输入、输出流 391

13.4.3 文件读、写字符流 393

13.4.4 字符缓冲区读、写流 394

13.5 拓展训练 396

13.5.1 训练一:按顺序创建文件 396

13.5.2 训练二:将一个大文件分割为多个小文件 397

13.5.3 训练三:生成ZIP压缩文件 399

13.6 技术解惑 402

13.6.1 把InputStream转换成String的几种方法 402

13.6.2 读取大文件用哪个类合适 403

第14章 Java数据库编程 405

14.1 数据库简介 405

14.1.1 数据库的概念 405

14.1.2 数据库的特点 406

14.2 SQL语句 406

14.2.1 SQL语句的分类 407

14.2.2 SELECT查询语句 407

14.2.3 INSERT插入语句 407

14.2.4 UPDATE更新语句 408

14.2.5 DELETE删除语句 408

14.2.6 CREATE建表语句 408

14.2.7 ALTER修改表语句 409

14.2.8 DROP删除表语句 409

14.3 MySQL 409

14.3.1 MySQL的安装配置 410

14.3.2 MySQL的使用 413

14.4 JDBC 416

14.4.1 JDBC简介 416

14.4.2 JDBC常见接口和类 417

14.4.3 JDBC数据库连接步骤 417

14.4.4 加载JDBC驱动程序 418

14.4.5 获取Connection连接对象 421

14.4.6 创建Statement对象 423

14.4.7 创建PreparedStatement对象 425

14.4.8 创建ResultSet对象 428

14.5 执行SQL语句的方式 430

14.5.1 使用JDBC API 430

14.5.2 使用execute()方法执行SQL语句 430

14.6 Java与各种数据库的连接 432

14.7 数据库开发案例 433

14.7.1 构造方法 433

14.7.2 数据查询 434

14.7.3 主方法 436

14.8 拓展训练 437

14.8.1 训练一:向数据库中批量插入数据 437

14.8.2 训练二:将图片文件存入数据库 439

14.9 技术解惑 442

14.9.1 多个connection能实现事务吗 442

14.9.2 如何测试java.sql.Connection类当前的连接是否正常可用 442

第15章 Java网络编程 443

15.1 网络程序设计基础 443

15.1.1 局域网与因特网 443

15.1.2 网络协议 444

15.1.3 端口和套接字 444

15.2 TCP程序设计基础 446

15.2.1 InetAddress类 446

15.2.2 ServerSocket类 448

15.2.3 TCP网络程序 450

15.3 UDP程序设计基础 453

15.3.1 DatagramPacket类 453

15.3.2 DatagramSocket类 453

15.3.3 UDP网络程序 454

15.4 拓展训练 457

15.4.1 训练一:实现网络文件的下载 457

15.4.2 训练二:模仿QQ创建实时聊天室 459

15.5 技术解惑 463

15.5.1 动态替换InetAddress中DNS的做法 463

15.5.2 输出datagramPacket的字符串时后面有很多小方块如何解决 464

第16章 Java图形界面编程 465

16.1 AWT简介 465

16.2 Swing基础 466

16.2.1 Swing的类层次结构 467

16.2.2 Swing的特点 468

16.2.3 Swing程序结构简介 468

16.3 事件类 470

16.3.1 事件类分类 470

16.3.2 动作事件类 471

16.3.3 调整事件类 471

16.3.4 焦点事件类 472

16.3.5 项目事件类 472

16.3.6 键盘事件类 473

16.3.7 鼠标事件类 473

16.3.8 窗口事件类 474

16.4 事件监听器 475

16.4.1 事件监听器接口 475

16.4.2 事件监听器的特点 477

16.5 轻量级容器 477

16.5.1 根面板(JRootPane) 478

16.5.2 面板(JPanel) 478

16.5.3 分层面板(JLayeredPane) 479

16.5.4 滚动窗口(JScrollPane) 479

16.5.5 分隔板(JSplitPane) 479

16.5.6 选项板(JTabbedPane) 480

16.5.7 工具栏(JToolBar) 480

16.6 Swing组件 480

16.6.1 按钮(JButton) 481

16.6.2 复选框(JCheckBox) 481

16.6.3 单选框(JRadioButton) 484

16.6.4 组合框(JComboBox) 485

16.6.5 进度条(JProgressBar) 485

16.6.6 表格(JTable) 485

16.6.7 树(JTree) 486

16.7 拓展训练 487

16.7.1 训练一:设置闪烁的标题栏 487

16.7.2 训练二:建立简单的时钟布局 489

16.7.3 训练三:给你最喜爱的脱口秀演员投票 492

16.7.4 训练四:包含图片的弹出菜单 495

16.7.5 训练五:震动效果的提示信息 497

16.8 技术解惑 499

16.8.1 Swing重要吗 499

16.8.2 Swing是否适合做大型项目及桌面应用 499

第4篇 实战篇

第17章 综合案例:学生信息管理系统 501

17.1 需求分析 501

17.2 系统设计 501

17.3 登录模块 503

17.3.1 设计构想 503

17.3.2 实现登录模块 503

17.4 学生信息管理系统 506

17.4.1 设计构想 506

17.4.2 实现学生信息管理系统主界面 507

17.4.3 增加学生信息 509

17.4.4 删除学生信息 512

17.4.5 修改学生信息 515

17.4.6 查询学生信息 519

17.4.7 成绩查询 523

17.4.8 退出系统 526

17.5 教师信息管理系统 528

17.5.1 教师信息管理系统主界面 528

17.5.2 增加教师信息 531

17.5.3 删除教师信息 534

17.5.4 修改教师信息 537

17.5.5 录入成绩 541

17.5.6 删除成绩 544

17.5.7 修改成绩 547

17.5.8 教师信息查询 550

17.5.9 退出系统 554

17.6 开发常见问题与解决 554

第18章 综合案例:进销存管理系统 556

18.1 系统分析 556

18.2 系统设计 557

18.2.1 系统架构 558

18.2.2 关键数据结构图 559

18.3 开发环境 559

18.3.1 服务器软件环境 559

18.3.2 服务器硬件环境 560

18.4 数据表设计 560

18.4.1 订单表设计 560

18.4.2 商品表设计 560

18.4.3 用户数据表设计 561

18.4.4 货架数据表设计 561

18.4.5 销售记录数据表设计 561

18.4.6 工作记录数据表设计 561

18.5 创建项目 562

18.6 系统文件夹组织结构 562

18.7 公共类设计 563

18.8 登录模块设计 565

18.9 系统主窗口设计 565

18.10 进货单模块设计 569

18.11 销售单模块设计 571

18.12 库存管理模块设计 573

18.13 数据库备份与恢复模块设计 575

18.14 运行项目 576

18.15 系统打包发行 576

参考资料

1.

Java程序设计从入门到精通

.电子工业出版社[引用日期2020-04-06]

你可能感兴趣的:(java程序设计入门)