《Java从入门到精通(精粹版)》是由人民邮电出版社出版的一本关于java方面的书籍,作者是张玉宏,主要介绍了关于Java、Java入门、Java精通方面的知识内容,目前在java类书籍综合评分为:9.1分。
书籍介绍
完美的一本书,讲解由浅入深,即使像我这样没有计算机背景的人也能看懂;细节做得也非常到位,难懂的地方都搭配了辅助图片。如果你想自学java,这本书将是你的不二选择!
这是我目前最满意的一本书,最愿意看的一本书,作者阐述幽默风趣,专业性强,赞
java程序设计从入门到精通 详解Java 9编程思想和核心技术 10万读者认可的编程图书精粹 零基础自学编程的入门图书 配同步视频教程和源代码 海量资源免费赠送
编辑推荐
本书特色 *零基础、入门级的讲解 无论读者是否从事计算机相关行业,是否接触过Java,是否使用Java开发过项目,都能从本书受益。 *实用、专业的范例和项目 本书结合实际工作中的范例,逐一讲解Java的各种知识和技术,还以世纪开发项目来总结本书所学内容,帮助读者在实战中掌握知识,轻松拥有项目经验。 *随时监测自己的学习成果 每章首页给出了“本章要点”,以便读者明确学习方向。每章的“实战练习”则根据所在章的知识点精心设计而成,读者可以随时自我检测,巩固所学知识。 *细致入微、贴心提示 本书在讲解过程中使用了“提示”“注意”“技巧”等小栏目,帮助读者在学习过程中更清楚地理解基本概念、掌握相关操作,并轻松获取实战技巧。 海量学习资源免费赠送 *Java和Oracle项目实战教学录像 *Java SE类库查询手册 *Eclipse常用快捷键说明文档 *Eclipse提示与技巧电子书 *Java常见面试题 *Java常见错误及解决方案 *Java开发经验及技巧大汇总 *Java程序员职业规划 * Java程序员面试技巧
内容简介
《Java从入门到精通(精粹版)》以零基础讲解为宗旨,用实例引导读者学习,深入浅出地介绍了Java的相关知识和实战技能。 《Java从入门到精通(精粹版)》第Ⅰ篇【基础知识】主要讲解Java开发环境搭建、Java程序要素、常量、变量、数据类型、运算符、表达式、语句、流程控制、数组、枚举、类、对象以及方法等;第Ⅱ篇【核心技术】主要介绍类的封装、继承、多态、抽象类、接口、Java常用类库以及异常的捕获与处理等;第Ⅲ篇【高级应用】主要介绍多线程、文件I/O操作、GUI编程、数据库编程、Java Web、常用设计框架以及Android编程基础等;第Ⅳ篇【项目实战】主要介绍智能电话回拨系统、饭票网以及Hadoop下的数据处理等。 《Java从入门到精通(精粹版)》提供了与图书内容全程同步的教学录像。此外,还赠送了大量相关学习资料,以便读者扩展学习。 《Java从入门到精通(精粹版)》适合任何想学习Java的读者,无论您是否从事计算机相关行业,是否接触过Java,均可通过学习本书快速掌握Java的开发方法和技巧。
作者简介
张玉宏,工学博士,科普作家,阿里云云栖社区认证专家、专栏作家,《品味大数据》作者, IEEE会员, ACM会员, CCF会员。2012 年毕业于电子科技大学,2009—2011 年在西北大学做访问学者,现执教于河南工业大学。主要研究方向为高性能计算、大数据。发表SCI/EI 论文10余篇,出版国内外学术专著5部。
目录
- 第0章 Java学习指南
- 0.1 Java为什么重要002
- 0.2 Java简史—带给我们的一点思考003
- 0.3 Java应用领域和前景008
- 0.4 Java学习路线图009
- 第1章 Java开发环境搭建
- 1.1 Java开发环境013
- 1.2 安装Java开发工具箱013
- 1.2.1 下载JDK013
- 1.2.2 安装JDK016
- 1.3 Java环境变量的配置017
- 1.3.1 理解环境变量017
- 1.3.2 JDK中的3个环境变量018
- 1.4 享受安装成果—开发第一个Java程序024
- 1.5 Eclipse的使用025
- 1.5.1 Eclipse概述025
- 1.5.2 创建Java项目026
- 1.5.3 创建Java类文件028
- 1.5.4 运行Java程序029
- 1.6 高手点拨030
- 1.7 实战练习030
- 第2章 Java程序要素概览
- 2.1 一个简单的例子032
- 2.2 认识Java程序033
- 2.2.1 Java程序的框架034
- 2.2.2 标识符035
- 2.2.3 关键字035
- 2.2.4 注释035
- 2.2.5 变量036
- 2.2.6 数据类型037
- 2.2.7 运算符和表达式038
- 2.2.8 类039
- 2.3 程序的检测039
- 2.3.1 语法错误039
- 2.3.2 语义错误040
- 2.4 提高程序的可读性041
- 2.5 高手点拨042
- 2.6 实战练习042
- 第3章 Java编程基础—常量、变量与数据类型
- 3.1 常量与变量044
- 3.1.1 常量的声明与使用044
- 3.1.2 变量的声明与使用045
- 3.2 基本数据类型049
- 3.2.1 数据类型的意义049
- 3.2.2 整数类型050
- 3.2.3 浮点类型 053
- 3.2.4 字符类型054
- 3.2.5 布尔类型056
- 3.3 高手点拨057
- 3.4 实战练习058
- 第4章 编程元素详解—运算符、表达式、语句与流程控制
- 4.1 运算符060
- 4.1.1 赋值运算符060
- 4.1.2 一元运算符060
- 4.1.3 算术运算符062
- 4.1.4 逻辑运算符063
- 4.1.5 位运算符066
- 4.1.6 三元运算符067
- 4.1.7 关系运算符与if语句068
- 4.1.8 递增与递减运算符069
- 4.2 表达式070
- 4.2.1 算术表达式与关系表达式071
- 4.2.2 逻辑表达式与赋值表达式071
- 4.2.3 表达式的类型转换072
- 4.3 语句074
- 4.3.1 语句中的空格074
- 4.3.2 空语句075
- 4.3.3 声明语句与赋值语句075
- 4.4 程序的控制逻辑076
- 4.4.1 顺序结构076
- 4.4.2 选择结构076
- 4.4.3 循环结构077
- 4.5 选择结构077
- 4.5.1 if语句077
- 4.5.2 if…else语句080
- 4.5.3 if…else if…else语句082
- 4.5.4 多重选择──switch语句083
- 4.6 循环结构085
- 4.6.1 while循环085
- 4.6.2 do…while循环086
- 4.6.3 for循环088
- 4.7 循环的跳转090
- 4.7.1 break语句090
- 4.7.2 continue语句092
- 4.7.3 return语句095
- 4.8 高手点拨096
- 4.9 实战练习096
- 第5章 数组与枚举
- 5.1 理解数组098
- 5.2 一维数组100
- 5.2.1 一维数组的声明与内存的分配100
- 5.2.2 数组中元素的表示方法101
- 5.2.3 数组元素的使用102
- 5.3 二维数组104
- 5.3.1 二维数组的声明与赋值105
- 5.3.2 二维数组元素的引用及访问106
- 5.4 枚举简介107
- 5.5 Java中的枚举107
- 5.5.1 常见的枚举定义方法107
- 5.5.2 在程序中使用枚举108
- 5.5.3 在switch语句中使用枚举109
- 5.6 高手点拨110
- 5.7 实战练习110
- 第6章 类和对象
- 6.1 理解面向对象程序设计112
- 6.1.1 面向对象程序设计简介112
- 6.1.2 面向对象程序设计的基本特征113
- 6.2 面向对象的基本概念113
- 6.2.1 类113
- 6.2.2 对象113
- 6.2.3 类和对象的关系114
- 6.3 类的声明与定义115
- 6.3.1 类的声明115
- 6.3.2 类的定义116
- 6.4 类的属性117
- 6.4.1 属性的定义117
- 6.4.2 属性的使用118
- 6.5 对象的声明与使用120
- 6.5.1 对象的声明120
- 6.5.2 对象的使用121
- 6.5.3 匿名对象123
- 6.6 高手点拨124
- 6.7 实战练习124
- 第7章 重复调用的代码块—方法
- 7.1 方法的基本定义126
- 7.2 方法的使用128
- 7.3 方法中的形参与实参129
- 7.4 方法的重载130
- 7.5 构造方法133
- 7.5.1 构造方法的概念133
- 7.5.2 构造方法的重载135
- 7.5.3 构造方法的私有化139
- 7.6 在方法内部调用方法142
- 7.7 static方法143
- 7.7.1 自定义static方法143
- 7.7.2 static主方法(main)145
- 7.8 高手点拨146
- 7.9 实战练习146
- 第8章 类的封装、继承与多态
- 8.1 封装149
- 8.1.1 Java访问权限修饰符149
- 8.1.2 封装问题引例149
- 8.1.3 类的封装实例150
- 8.2 继承156
- 8.2.1 Java中的继承156
- 8.2.2 继承问题的引入157
- 8.2.3 继承实现代码复用158
- 8.2.4 继承的限制160
- 8.3 覆写163
- 8.3.1 属性的覆盖163
- 8.3.2 方法的覆写164
- 8.4 多态167
- 8.4.1 多态的基本概念167
- 8.4.2 方法多态性169
- 8.4.3 对象多态性170
- 8.5 高手点拨172
- 8.6 实战练习172
- 第9章 抽象类与接口
- 9.1 抽象类174
- 9.1.1 抽象类的定义174
- 9.1.2 抽象类的使用175
- 9.2 接口178
- 9.2.1 接口的基本概念178
- 9.2.2 使用接口的原则179
- 9.3 高手点拨186
- 9.4 实战练习186
- 第10章 Java常用类库
- 10.1 类库的概念188
- 10.2 基本数据类型的包装类188
- 10.2.1 装箱与拆箱189
- 10.2.2 基本数据类型与字符串的转换191
- 10.3 String类193
- 10.3.1 字符串类的声明193
- 10.3.2 String类中常用的方法194
- 10.4 Math与Random类197
- 10.4.1 Math类的使用197
- 10.4.2 Random类的使用198
- 10.5 高手点拨200
- 10.6 实战练习200
- 第11章 异常的捕获与处理
- 11.1 异常的基本概念202
- 11.1.1 简单的异常范例202
- 11.1.2 异常的处理203
- 11.2 异常类的处理流程208
- 11.3 throws关键字209
- 11.4 throw关键字210
- 11.5 异常处理的标准格式211
- 11.6 高手点拨212
- 11.7 实战练习212
- 第12章 多线程
- 12.1 感知多线程215
- 12.2 体验多线程215
- 12.2.1 通过继承Thread类实现多线程216
- 12.2.2 通过实现Runnable接口实现多线程218
- 12.2.3 两种多线程实现机制的比较220
- 12.2.4 Java 8 中运行线程的新方法224
- 12.3 线程的状态225
- 12.4 线程操作的一些方法229
- 12.4.1 取得和设置线程的名称229
- 12.4.2 判断线程是否启动232
- 12.4.3 守护线程与setDaemon方法233
- 12.4.4 线程的联合234
- 12.5 高手点拨236
- 12.6 实战练习236
- 第13章 文件I/O操作
- 13.1 输入/输出的重要性238
- 13.2 读写文本文件238
- 13.2.1 File文件类238
- 13.2.2 文本文件的操作240
- 13.2.3 字符编码问题244
- 13.3 文本的输入和输出247
- 13.3.1 读入文本单词247
- 13.3.2 读入单个字符248
- 13.3.3 判断字符分类的方法248
- 13.3.4 读入一行文本249
- 13.3.5 将字符转换为数字250
- 13.4 命令行参数的使用251
- 13.4.1 System类对I/O的支持251
- 13.4.2 Java命令行参数解析252
- 13.5 高手点拨255
- 13.6 实战练习256
- 第14章 GUI编程
- 14.1 GUI概述258
- 14.2 GUI与AWT258
- 14.3 AWT容器259
- 14.3.1 Frame窗口259
- 14.3.2 Panel面板263
- 14.3.3 布局管理器264
- 14.4 AWT常用组件269
- 14.4.1 按钮与标签组件270
- 14.4.2 文本域272
- 14.4.3 图形控件274
- 14.5 事件处理275
- 14.5.1 事件处理的流程275
- 14.5.2 常用的事件276
- 14.5.3 事件处理小案例—会动的乌龟281
- 14.6 Swing概述284
- 14.7 Swing的基本组件286
- 14.7.1 JTable表格286
- 14.7.2 JComboBox下拉列表框288
- 14.7.3 组件的常用方法289
- 14.8 Swing的应用小案例—简易学籍管理系统290
- 14.9 高手点拨293
- 14.10 实战练习294
- 第15章 数据库编程
- 15.1 数据库概述296
- 15.2 Java数据库连接利器—JDBC296
- 15.3 轻量级数据库—SQLite296
- 15.3.1 SQLite的准备工作296
- 15.3.2 用Java连接SQLite299
- 15.3.3 创建数据表300
- 15.3.4 更新数据表302
- 15.3.5 查询数据表307
- 15.4 SQLite实战—简易学生信息管理系统311
- 15.4.1 基本数据结构312
- 15.4.2 数据库操作有关工具类314
- 15.4.3 主界面的构造318
- 15.4.4 用于输入新数据的对话框实现324
- 15.5 MySQL数据库330
- 15.5.1 MySQL数据库的基本命令330
- 15.5.2 在Java中使用MySQL数据库333
- 15.6 高手点拨338
- 15.7 实战练习338
- 第16章 Java Web初步
- 16.1 JSP概述340
- 16.2 JSP的运行环境340
- 16.2.1 安装Tomcat340
- 16.2.2 配置虚拟目录343
- 16.2.3 编写第一个JSP程序345
- 16.2.4 Tomcat执行流程346
- 16.3 基础语法347
- 16.3.1 显式注释与隐式注释347
- 16.3.2 代码段348
- 16.3.3 Page指令350
- 16.3.4 包含指令352
- 16.3.5 跳转指令356
- 16.4 内置对象357
- 16.4.1 request对象358
- 16.4.2 response对象361
- 16.5 Servlet367
- 16.5.1 Servlet简介367
- 16.5.2 第一个Servlet程序368
- 16.6 高手点拨372
- 16.7 实战练习372
- 第17章 常用设计框架
- 17.1 框架的内涵374
- 17.2 Struts 开发基础374
- 17.2.1 Struts简介374
- 17.2.2 MVC的基本概念375
- 17.2.3 下载Struts 2 类库375
- 17.2.4 从Struts 2的角度理解MVC 376
- 17.2.5 第一个Struts 2 实例377
- 17.2.6 运行测试StrutsDemo工程386
- 17.2.7 小节387
- 17.3 Spring快速上手387
- 17.3.1 Spring基本知识 387
- 17.3.2 Spring开发准备 388
- 17.3.3 Spring框架配置 388
- 17.3.4 Spring开发实例 392
- 17.4 Hibernate入门396
- 17.4.1 Hibernate开发基础397
- 17.4.2 Hibernate开发准备397
- 17.4.3 Hibernate开发实例400
- 17.5 高手点拨416
- 17.6 实战练习416
- 第18章 Android编程基础
- 18.1 Android简介418
- 18.1.1 Android系统架构418
- 18.1.2 Android应用开发特色418
- 18.2 搭建开发环境419
- 18.2.1 准备所需要的软件419
- 18.2.2 搭建开发环境419
- 18.3 创建第一个Android项目422
- 18.3.1 创建HelloWorld项目422
- 18.3.2 运行HelloWorld项目424
- 18.3.3 解析第一个Android程序425
- 18.4 详解基本布局428
- 18.4.1 线性布局428
- 18.4.2 相对布局432
- 18.4.3 帧布局436
- 18.5 常见控件的使用方法437
- 18.5.1 TextView437
- 18.5.2 EditText438
- 18.5.3 Button440
- 18.5.4 ImageView443
- 18.6 Activity详细介绍444
- 18.6.1 Activity生命周期444
- 18.6.2 Activity状态444
- 18.6.3 Activity启动模式445
- 18.7 高手点拨446
- 18.8 实战练习446
- 第19章 Android项目实战—智能电话回拨系统
- 19.1 系统概述449
- 19.1.1 背景介绍449
- 19.1.2 运行程序449
- 19.1.3 系统需求分析450
- 19.1.4 详细功能设计450
- 19.2 系统实现451
- 19.2.1 主界面451
- 19.2.2 修改密码 452
- 19.2.3 意见反馈455
- 19.3 项目功能用到的知识点讲解460
- 19.3.1 读取通讯录460
- 19.3.2 读取联系人头像463
- 19.3.3 读取短信464
- 19.4 高手点拨466
- 19.5 实战练习466
- 第20章 Java Web项目实战—我的饭票网
- 20.1 系统分析468
- 20.2 系统设计468
- 20.3 数据库设计469
- 20.3.1 功能分析469
- 20.3.2 基本表设计469
- 20.4 用户注册模块设计473
- 20.4.1 用户注册模块概述473
- 20.4.2 与用户注册有关的数据库连接及操作类473
- 20.4.3 用户注册界面设计480
- 20.4.4 用户注册事件处理页面483
- 20.5 用户登录模块设计484
- 20.5.1 用户登录模块概述484
- 20.5.2 与用户登录有关的数据库连接及操作类484
- 20.5.3 用户登录界面设计486
- 20.5.4 用户登录验证处理页面488
- 20.6 用户主页面模块设计490
- 20.6.1 用户主页面模块概述490
- 20.6.2 与用户主页面有关的数据库连接及操作类490
- 20.6.3 用户主页面界面设计495
- 20.7 高手点拨498
- 20.8 实战练习498
- 第21章 大数据项目实战—Hadoop下的数据处理
- 21.1 认识Hadoop500
- 21.2 理解MapReduce编程范式501
- 21.3 第一个Hadoop案例—WordCount代码详解501
- 21.3.1 WordCount基本流程502
- 21.3.2 WordCount代码详解503
- 21.3.3 运行WordCount506
- 21.4 面向K-Means聚类算法的Hadoop实践510
- 21.4.1 K-Means聚类算法简介510
- 21.4.2 基于MapReduce的K-Means算法实现513
- 21.4.3 编写K-Means513
- 21.4.4 在Hadoop集群运行KMeans538
- 21.5 高手点拨542
- 21.6 实战练习542
- 附录:全分布式Hadoop集群的构建
- 安装CentOS 7543
- 安装Java并配置环境变量544
- 安装Hadoop546
- 下载Hadoop包546
- 安装Hadoop547
- Hadoop的运行模式547
- Hadoop集群构建548
- 设置静态IP地址548
- 修改hosts文件550
- 安装和配置SSH服务550
- 安装SSH551
- SSH免密码登录551
- 虚拟机的配置文件同步553
- 全分布模式下配置Hadoop553
- 配置Hadoop环境变量553
- 配置hadoop-env.sh554
- 配置HDFS的主节点(core-site.xml)555
- 配置slaves556
- 配置yarn-site.xml557
- 配置mapred-site.xml558
- 验证全分布模式559
- 默认配置文件所在位置560
-
关闭Hadoop560