热门搜索: 中考 高考 考试 开卷17
服务电话 024-96192/23945006
 

JAVA 开发从入门到精通(第2版)

编号:
wx1201941280
销售价:
¥93.74
(市场价: ¥109.00)
赠送积分:
94
数量:
   
商品介绍

Java是一门神奇的编程语言,一直雄踞各编程语言排行榜的靠前,用它开发的软件遍布各行各业。本书作为一本Java的入门书籍,其丰富的配套资源让一样的编程语言有不一样的学法:
·770 个实例,使读者有更多的实践演练机会
·300 多个拓展实例,真正地做到举一反三
·2000 多分钟的视频讲解,帮助读者降低学习难度
·100 多个技术解惑 ,破解学习的难点

与市面上同类图书相比,我们这本书根据读者的学习习惯、结合程序设计专业的教学特点,以“技术讲解”→ 范例演练”→“技术解惑”贯穿全书,帮助零基础读者全面掌握Java 语言开发。
● 技术讲解:详细介绍Java 9、Java 10 和Java 11 的新特性和各个知识点
● 范例演练:1070 多个实例, 让读者在实践中学会Java 语言
● 技术解惑:把容易混淆的概念单独讲解和剖析,帮助读者绕过学习中的陷阱

QQ 群+ 网站论坛实现教学互动,形成互帮互学的朋友圈
● 网站论坛:作者答疑/学习辅导/ PPT 资源下载
● 答疑QQ 群:疑惑快速解答/和作者直接交流

另外,我们这本书在内容和服务上,有以下优势:
1.提供100个提高程序性能的技巧,让读者少走弯路;
2.增加课后练习模块 ,巩固读者所学内容;
3.1本书的内容,3本书的容量,让读者买得值,学得会;
4.按照Java10新版本写作,让读者真正和现实项目结合起来;
5.全视频讲解,不会的地方看视频更容易;
6.不定期开设辅导读者的视频课,学习更高效。

本书专门介绍Java编程,主要内容包括:Java基础知识、Java语法基础、条件语句、循环语句、数组、Java面向对象编程、集合、常用的类库、泛型、异常处理、I/O文件处理和流程、AWT、Swing、JavaFX基础知识、UI组件、事件处理程序、基于JavaFX框架的Web和多媒体开发、数据库编程、网络与通信编程、多线程和进程等。本书适合Java开发人员阅读,也适合计算机相关专业的师生阅读。

扶松柏,上海大学计算机科学技术学院硕士,通信工程博士,精通Java、C语言、C++程序开发,擅长底层技术和应用程序的结合。具有丰富的Java开发经验和编程心得。

目    录

第  1章 计算机基础和Java开发入门  1
1.1  计算机基础  2
1.1.1  中央处理器  2
1.1.2  比特和字节  2
1.1.3  二进制  3
1.1.4  编码格式  3
1.2  初识Java  4
1.2.1  何谓Java  4
1.2.2  Java的特点  5
1.2.3  Java的地位  5
1.3  技术解惑  6
1.3.1  对初学者的建议  6
1.3.2  理解Java的垃圾回收
机制  6
1.3.3  充分利用Java API文档  7
1.4  课后练习  7
第  2章 第 一段Java程序  8
2.1  搭建Java开发环境  9
2.1.1  安装JDK  9
2.1.2  配置开发环境—
Windows  7  11
2.1.3  配置开发环境—
Windows  10  11
2.2  编写第 一段Java程序  13
2.2.1  第 一段Java代码  13
2.2.2  关键字  13
2.2.3  标识符  14
2.2.4  注释  14
2.2.5  main()方法  15
2.2.6  控制台的输入和输出  15
2.3  编译并运行Java程序  15
2.3.1  编译Java程序  15
2.3.2  运行Java程序  16
2.3.3  Java 11新特性:新的程序
运行方式  16
2.4  使用IDE工具—Eclipse  17
2.4.1  Eclipse  17
2.4.2  获得并安装Eclipse  17
2.4.3  新建一个Eclipse项目  20
2.4.4  编译并运行Eclipse项目  23
2.4.5  使用Eclipse打开一个
Java项目  24
2.5  Java的运行机制  25
2.5.1  编译型/解释型语言的
运行机制  25
2.5.2  Java程序则要先编译、
后运行  25
2.6  技术解惑  26
2.6.1  遵循Java源文件的
命名规则  26
2.6.2  忽视系统文件的扩展名  26
2.6.3  环境变量的问题  26
2.6.4  大小写的问题  27
2.6.5  main()方法的问题  27
2.6.6  注意空格问题  27
2.6.7  到底用不用IDE工具  27
2.6.8  区分JRE和JDK  28
2.7  课后练习  28
第3章  Java语法基础  29
3.1  常量和变量  30
3.1.1  常量  30
3.1.2  变量  31
3.2  数据类型  33
3.2.1  为什么要使用数据类型  33
3.2.2  简单数据类型的
取值范围  34
3.2.3  字符型  34
3.2.4  整型  35
3.2.5  浮点型  36
3.2.6  布尔型  37
3.3  运算符  38
3.3.1  算术运算符  38
3.3.2  关系运算符和逻辑
运算符  41
3.3.3  位逻辑运算符  42
3.3.4  条件运算符  43
3.3.5  赋值运算符  44
3.3.6  运算符的优先级  45
3.4  字符串  46
3.4.1  字符串的初始化  46
3.4.2  String类  47
3.4.3  StringBuffer类  49
3.5  类型转换  50
3.5.1  自动类型转换  50
3.5.2  强制类型转换  51
3.6  Java 11新特性:新增的
String函数  51
3.7  技术解惑  54
3.7.1  定义常量时的注意事项  54
3.7.2  char类型中单引号的
意义  54
3.7.3  正无穷和负无穷的
问题  55
3.7.4  移位运算符的限制  55
3.8  课后练习  55
第4章  条件语句  56
4.1  if语句详解  57
4.1.1  if语句  57
4.1.2  if语句的延伸  58
4.1.3  有多个条件判断的if
语句  59
4.2  switch语句详解  60
4.2.1  switch语句的形式  61
4.2.2  无break的情况  62
4.2.3  case语句后没有
执行语句  62
4.2.4  default可以不在末尾  63
4.3  条件语句演练  64
4.3.1  正确使用switch语句  64
4.3.2  正确使用if语句  64
4.3.3  switch语句的执行顺序  65
4.4  技术解惑  66
4.4.1  if…else语句的意义  66
4.4.2  使用switch语句时的
几个注意事项  67
4.4.3  switch语句和if…else if
语句的选择  68
4.5  课后练习  68
第5章  循环语句  69
5.1  循环语句  70
5.1.1  for循环  70
5.1.2  while循环语句  72
5.1.3  do…while循环语句  73
5.2  跳转语句  74
5.2.1  break语句的应用  74
5.2.2  return语句的应用  76
5.2.3  continue语句  77
5.3  技术解惑  77
5.3.1  使用for循环的技巧  77
5.3.2  跳转语句的选择技巧  78
5.4  课后练习  79
第6章  数组  80
6.1  简单的一维数组  81
6.1.1  声明一维数组  81
6.1.2  创建一维数组  81
6.1.3  初始化一维数组  82
6.2  二维数组  83
6.2.1  声明二维数组  83
6.2.2  创建二维数组  83
6.2.3  初始化二维数组  84
6.3  三维数组  85
6.3.1  声明三维数组  86
6.3.2  创建三维数组的方法  86
6.3.3  初始化三维数组  86
6.4  操作数组  87
6.4.1  复制数组  87
6.4.2  比较数组  87
6.4.3  排序数组  88
6.4.4  搜索数组中的元素  89
6.4.5  填充数组  89
6.4.6  遍历数组  90
6.5  技术解惑  90
6.5.1  动态初始化数组的规则  90
6.5.2  引用类型  91
6.5.3  数组的初始化  91
6.6  课后练习  91
第7章  Java的面向对象(上)  93
7.1  面向对象的基础  94
7.1.1  面向对象的定义  94
7.1.2  Java的面向对象编程  94
7.1.3  一切皆为对象  94
7.1.4  Java面向对象的几个
核心概念  95
7.2  创建类  96
7.2.1  定义类  96
7.2.2  定义属性  97
7.2.3  定义方法  97
7.2.4  定义构造器  98
7.3  修饰符  98
7.3.1  public修饰符  98
7.3.2  private修饰符  99
7.3.3  protected修饰符  100
7.3.4  其他修饰符  100
7.4  方法详解  101
7.4.1  方法与函数的关系  101
7.4.2  传递方法参数  102
7.4.3  长度可变的方法  102
7.4.4  不使用void关键字
构造方法名  103
7.4.5  递归方法  104
7.5  使用this  105
7.6  使用类和对象  105
7.6.1  创建和使用对象  106
7.6.2  使用静态变量和
静态方法  106
7.7  抽象类和抽象方法  107
7.7.1  抽象类和抽象方法的
基础  107
7.7.2  抽象类必须有一个
抽象方法  108
7.7.3  抽象类的作用  109
7.8  软件包  110
7.8.1  软件包的定义  110
7.8.2  在Eclipse中定义
软件包  110
7.8.3  在程序里插入软件包  111
7.9  技术解惑  112
7.9.1  在Java中传递引用类型的
实质  112
7.9.2  掌握this的好处  113
7.9.3  推出抽象方法的原因  114
7.9.4  使用抽象类的时机  114
7.9.5  static修饰的作用  115
7.9.6  数组内是同一类型的
数据  115
7.10  课后练习  115
第8章  Java的面向对象(中)  116
8.1  类的继承  117
8.1.1  继承的定义  117
8.1.2  父类和子类  117
8.1.3  调用父类的构造方法  118
8.1.4  访问父类的属性和方法  119
8.1.5  多重继承  120
8.1.6  重写父类的方法  121
8.2  重写和重载  122
8.2.1  重写  122
8.2.2  重载  124
8.3  隐藏和封装  125
8.3.1  Java中的封装  125
8.3.2  访问控制符  125
8.3.3  Java中的包  127
8.3.4  import  129
8.4  接口  129
8.4.1  定义接口  129
8.4.2  接口里的常量和方法  130
8.4.3  引用接口  132
8.4.4  接口间的继承  134
8.4.5  接口的私有方法  134
8.5  技术解惑  137
8.5.1  重写方法的注意事项  137
8.5.2  重写和重载的区别  138
8.5.3  举例理解类的意义  138
8.5.4  Java包的一些规则  138
8.5.5  探讨package和import
机制  138
8.5.6  接口编程的机理  139
8.5.7  接口和抽象类的区别和
联系  140
8.6  课后练习  141
第9章  Java的面向对象(下)  142
9.1  构造器详解  143
9.1.1  初始化构造器  143
9.1.2  构造器重载  143
9.1.3  调用父类构造器  144
9.2  多态  145
9.2.1  多态的定义  145
9.2.2  演示Java中的多态  147
9.2.3  使用instanceof运算符  148
9.3  引用类型  149
9.3.1  4种引用类型  150
9.3.2  引用变量的强制
类型转换  151
9.4  组合  152
9.5  初始化块  154
9.5.1  初始化块概述  154
9.5.2  静态初始化块  155
9.6  包装类  156
9.7  final修饰符  157
9.7.1  用final修饰变量  158
9.7.2  final方法  159
9.8  内部类  160
9.8.1  内部类概述  160
9.8.2  非静态内部类  160
9.8.3  成员内部类  162
9.8.4  局部内部类  162
9.8.5  静态内部类  163
9.9  匿名类  163
9.9.1  定义匿名类  164
9.9.2  匿名内部类  164
9.9.3  匿名内部类使用final
形参  165
9.10  枚举类  166
9.10.1  枚举类的方法  166
9.10.2  模拟枚举类  167
9.10.3  枚举类型  168
9.11  Java 11新特性:嵌套访问
  控制  170
9.12  技术解惑  172
9.12.1  构造器和方法的区别  172
9.12.2  this在构造器中的
  作用  173
9.12.3  子类构造器调用父类
  构造器的情况  173
9.12.4  强制类型转换的
  局限性  174
9.12.5  继承和组合的选择  174
9.12.6  发生异常的原因  174
9.12.7  用final修饰基本类型和
  引用类型变量之间的
  区别  174
9.12.8  类的4种权限  174
9.12.9  手工实现枚举类的
  缺点  175
9.13  课后练习  175
第  10章 集合  176
10.1  Java中的集合类  177
10.2  Collection接口和Iterator
  接口  178
10.2.1  Collection接口概述  178
10.2.2  Iterator接口概述  179
10.2.3  使用Collection接口中的
  方法来操作集合里的
  元素  179
10.3  Set接口  180
10.3.1  Set接口概述  180
10.3.2  使用HashSet  183
10.3.3  使用TreeSet类  184
10.3.4  使用EnumSet类  186
10.4  List接口  188
10.4.1  List接口概述  188
10.4.2  根据索引操作集合内的
  元素  190
10.4.3  使用ArrayList和
  Vector类  191
10.5  Map接口  192
10.5.1  Map接口中的方法  192
10.5.2  Map接口中的
  接口和类  193
10.5.3  使用HashMap和Hashtable
  实现类  196
10.5.4  使用SortedMap接口和
  TreeMap实现类  197
10.5.5  使用WeakHashMap类  199
10.5.6  使用IdentityHash
  Map类  200
10.5.7  使用EnumMap类  201
10.6  Queue接口  201
10.6.1  LinkedList类  202
10.6.2  PriorityQueue类  203
10.7  集合工具类Collections  203
10.7.1  排序操作  203
10.7.2  查找和替换操作  204
10.8  其他集合类  205
10.8.1  Stack类  205
10.8.2  属性类Properties  206
10.9  创建不可变的List、Set和
  Map(Java 9新增功能)  209
10.9.1  Java 9以前版本的
  解决方案  209
10.9.2  Java 9版本的解决
  方案  209
10.10  使用var类型推断(Java  10
新增功能)  211
10.11  技术解惑  212
10.11.1  Collection集合元素的
改变问题  212
10.11.2  深入理解HashSet  212
10.11.3  使用类EnumSet的
注意事项  213
10.11.4  ArrayList和Vector的
区别  213
10.11.5  TreeMap判断两个元素
相等的标准  213
10.11.6  分析Map类的性能  213
10.11.7  LinkedList、ArrayList、
Vector的性能问题  214
10.11.8  用swap()方法交换集合
中两个位置的内容  214
10.12  课后练习  214
第  11章 常用的类库  215
11.1  StringBuffer类  216
11.1.1  StringBuffer类概述  216
11.1.2  使用StringBuffer类  216
11.2  Runtime类  218
11.2.1  Runtime类概述  218
11.2.2  使用Runtime类  218
11.3  程序国际化  220
11.3.1  国际化基础  220
11.3.2  Locale类  221
11.3.3  ResourceBundle类  221
11.3.4  处理动态文本  222
11.3.5  使用类代替资源文件  223
11.4  System类  224
11.4.1  使用System类  224
11.4.2  垃圾对象的回收  225
11.5  Date类  225
11.5.1  使用Date类  226
11.5.2  使用Calendar类  226
11.5.3  使用DateFormat类  227
11.5.4  使用SimpleDate
  Format类  228
11.6  Math类  229
11.7  Random类  230
11.8  NumberFormat类  231
11.9  BigInteger类  232
11.10  BigDecimal类  233
11.11  复制对象  235
11.12  Arrays类  235
11.13  Comparable接口  236
11.13.1  Comparable接口
  概述  236
11.13.2  使用Comparable
接口  238
11.13.3  使用Comparator
接口  238
11.14  Observable类和Observer
接口  239
11.15  正则表达式  241
11.15.1  正则表达式概述  241
11.15.2  Java中的正则
表达式类  242
11.15.3  使用Pattern类和
Matcher类  243
11.15.4  String类和正则
表达式  243
11.15.5  Java 9新增的正则
表达式方法  244
11.15.6  Java 11新特性:正则
表达式参数的局部
变量语法  245
11.16  Timer类和TimerTask类  245
11.16.1  Timer类  246
11.16.2  TimerTask类  246
11.17  技术解惑  247
11.17.1  StringBuffer和String的
异同  247
11.17.2  通过System类获取本机
的全部环境属性  247
11.17.3  分析对象的
生命周期  248
11.17.4  若未实现Comparable
接口会出现异常  248
11.17.5  正则表达式的好处  248
11.18  课后练习  249
第  12章 泛型  250
12.1  泛型概述  251
12.1.1  泛型的优点  251
12.1.2  类型检查  251
12.1.3  使用泛型  253
12.2  泛型详解  253
12.2.1  定义泛型接口和类  253
12.2.2  派生子类  254
12.2.3  并不存在泛型类  255
12.3  类型通配符  255
12.3.1  设置类型实参的上限  256
12.3.2  设置类型形参的上限  257
12.3.3  设置通配符的下限  258
12.4  泛型方法  258
12.5  泛型接口  260
12.6  泛型继承  261
12.6.1  以泛型类为父类  261
12.6.2  以非泛型类为父类  262
12.7  强制类型转换  263
12.8  擦除  263
12.8.1  擦除的定义  263
12.8.2  擦除带来的问题  265
12.9  技术解惑  266
12.9.1  Java语言中泛型的
  本质  266
12.9.2  泛型方法和类型通配符的
  区别  267
12.9.3  泛型类的继承规则  268
12.9.4  类型擦除和泛型特性
  之间的联系  268
12.9.5  使用原则和注意事项  268
12.10  课后练习  268
第  13章 异常处理  270
13.1  异常概述  271
13.1.1  认识异常  271
13.1.2  Java提供的异常
  处理类  271
13.2  异常处理方式  272
13.2.1  try…catch语句  272
13.2.2  处理多个异常  273
13.2.3  finally语句  274
13.2.4  访问异常信息  275
13.3  抛出异常  276
13.3.1  使用throws抛出异常  276
13.3.2  使用throw抛出异常  278
13.4  自定义异常  279
13.4.1  Throwable类及其子类  279
13.4.2  使用Throwable类
  自定义异常  281
13.5  Checked异常和Runtime异常的
  区别  282
13.5.1  机制上的差异  282
13.5.2  逻辑上的差异  283
13.6  技术解惑  283
13.6.1  使用嵌套异常处理是更
  合理的方法  283
13.6.2  区别throws关键字和
  throw关键字  284
13.6.3  异常类的继承关系  284
13.6.4  子类Error和
  Exception  284
13.7  课后练习  284
第  14章 I/O文件处理和流处理  285
14.1  Java I/O概述  286
14.2  File类  286
14.2.1  File类中的方法  286
14.2.2  使用File类操作文件  287
14.3  RandomAccessFile类  290
14.3.1  RandomAccessFile类的
  常用方法  290
14.3.2  使用
  RandomAccessFile类  291
14.4  字节流与字符流  292
14.4.1  字节流类和字符流类  292
14.4.2  使用字节流  292
14.4.3  使用字符流  296
14.5  字节转换流  299
14.6  内存操作流  299
14.7  管道流  301
14.8  打印流  302
14.8.1  打印流概述  302
14.8.2  使用打印流  303
14.9  System类  303
14.9.1  System.out  304
14.9.2  System.err  304
14.9.3  System.in  305
14.9.4  输入/输出重定向  305
14.10  BufferedReader类  307
14.10.1  BufferedReader类
概述  307
14.10.2  使用
BufferedReader类  308
14.11  Scanner类  309
14.11.1  Scanner类概述  310
14.11.2  使用Scanner类  310
14.12  数据操作流  312
14.12.1  DataOutputStream类  313
14.12.2  DataInputStream类  313
14.13  合并流  315
14.14  压缩流  316
14.14.1  ZIP压缩输入/
输出流概述  316
14.14.2  ZipOutputStream类  316
14.14.3  ZipFile类  319
14.14.4  ZipInputStream类  319
14.15  回退流  320
14.16  字符编码  321
14.16.1  得到本机编码  322
14.16.2  产生乱码  322
14.17  对象序列化  323
14.17.1  Serializable接口  323
14.17.2  对象输出流
ObjectOutputStream  324
14.17.3  对象输入流
ObjectInputStream  324
14.17.4  Externalizable接口  325
14.17.5  关键字transient  326
14.17.6  序列化一组对象  327
14.18  Buffer类  328
14.18.1  Buffer类中的
主要方法  329
14.18.2  使用Buffer类  330
14.19  Channel类  331
14.20  使用流API  333
14.20.1  Java 8中的流  333
14.20.2  Java 9中新增的
Stream  335
14.21  使用try…with…resources
语句  337
14.21.1  try…with…resources
语句概述  337
14.21.2  try…with…resources的
改进(Java  9新增
功能)  338
14.22  技术解惑  341
14.22.1  使用File.separator
表示分隔符  341
14.22.2  综合演练创建和
删除文件  341
14.22.3  File类的复杂用法  342
14.22.4  字节流和字符流的
区别  342
14.22.5  System.err和
System.out的选择  344
14.22.6  使用I/O实现一个简单的
菜单效果  344
14.22.7  对象序列化和对象反
序列化操作时的版本
兼容性问题  345
14.22.8  不能让所有的类都实现
Serializable接口  346
14.23  课后练习  346
第  15章 AWT的奇幻世界  347
15.1  GUI框架概述  348
15.1.1  AWT框架  348
15.1.2  Swing框架  348
15.1.3  JavaFX框架  348
15.2  AWT框架的结构  349
15.3  容器  350
15.3.1  容器概述  350
15.3.2  容器中的常用组件  351
15.4  布局管理器  352
15.4.1  FlowLayout布局  353
15.4.2  BorderLayout布局  353
15.4.3  GridLayout布局  355
15.4.4  GridBagLayout布局  356
15.4.5  CardLayout布局  356
15.4.6  BoxLayout布局
  管理器  357
15.5  AWT中的常用组件  357
15.5.1  AWT组件概览  358
15.5.2  使用组件  358
15.6  AWT中的对话框  360
15.6.1  AWT对话框概述  360
15.6.2  使用AWT对话框  360
15.7  使用图像多分辨率API  361
15.7.1  图像多分辨率概述  361
15.7.2  图像多分辨率API
  详解  361
15.7.3  图像多分辨率API
  实战  362
15.8  javax.imageio.plugins.tiff  364
15.8.1  ImageIO模块概述  364
15.8.2  TIFF接口  366
15.9  技术解惑  367
15.9.1  使用绝对定位  367
15.9.2  对事件处理模型的
  简化  368
15.9.3  使用AWT开发动画  368
15.9.4  图片缩放在现实中的
  意义  368
15.9.5  AWT和Swing是窗体
  编程的两个主角  368
15.9.6  AWT中的菜单组件不能
  创建图标菜单  368
15.9.7  Java的事件模型  368
15.9.8  事件和事件监听器  370
15.10  课后练习  372
第  16章 Swing  373
16.1  Swing概述  374
16.2  Swing的组件  375
16.2.1  Swing组件的层次
  结构  375
16.2.2  Swing实现AWT
  组件  376
16.3  拖放处理  380
16.4  实现进度条效果  381
16.4.1  创建一个进度条  381
16.4.2  使用ProgressMonitor创建
  进度条对话框  383
16.5  技术解惑  383
16.5.1  贯穿Java开发的MVC
  模式  383
16.5.2  Swing的优势  383
16.5.3  使用JSlider和
  BoundedRangeModel测试
  滑动条效果  384
16.5.4  使用ListCellRenderer改变
  窗体中列表项的外观  385
16.6  课后练习  385
第  17章 JavaFX开发基础  386
17.1  JavaFX概述  387
17.1.1  JavaFX的特色  387
17.1.2  安装e(fx)clipse插件  387
17.1.3  认识第 一个JavaFX
  程序  389
17.2  JavaFX界面结构  389
17.2.1  窗体结构剖析  389
17.2.2  属性绑定  391
17.2.3  样式属性和角度属性  392
17.3  使用Color类设置颜色  393
17.3.1  设置颜色的方法  393
17.3.2  使用RGB方式设置
  颜色  395
17.3.3  使用Web方式设置
  颜色  395
17.4  绘制文字  396
17.4.1  Text包概述  396
17.4.2  绘制指定样式的文本  397
17.5  绘制形状  398
17.5.1  使用Line绘制线条  398
17.5.2  使用Rectangle
  绘制矩形  399
17.5.3  使用Circle绘制圆  401
17.5.4  使用Ellipse绘制椭圆  402
17.5.5  使用Arc绘制圆弧  403
17.5.6  使用Polygon绘制
  多边形  404
17.5.7  使用Polyline绘制
  折线  405
17.5.8  使用CubicCurve绘制三次
  曲线  406
17.5.9  使用QuadCurve绘制二次
  曲线  407
17.6  显示图像  408
17.6.1  使用Image显示图像  408
17.6.2  使用ImageView显示
  图像  409
17.7  界面布局  410
17.7.1  使用Pane的画布功能  411
17.7.2  使用StackPane实现特定
  面板功能  412
17.7.3  使用FlowPane实现
  序列放置  412
17.7.4  使用GridPane实现
  网格布局  414
17.7.5  使用BorderPane实现
  区域布局  415
17.7.6  使用HBox实现水平
  布局  417
17.7.7  使用VBox实现垂直
  布局  418
17.8  技术解惑  419
17.8.1  Swing、AWT和JavaFX的
  区别  419
17.8.2  JavaFX的属性类型  419
17.9  课后练习  420
第  18章 使用JavaFX UI组件  421
18.1  使用标签组件  422
18.1.1  标签属性和方法  422
18.1.2  标签组件实战演练  423
18.2  使用按钮组件  424
18.2.1  按钮属性和方法  424
18.2.2  按钮组件实战演练  425
18.3  使用复选框组件  426
18.3.1  复选框属性和方法  426
18.3.2  复选框组件实战演练  427
18.4  使用单选按钮组件  428
18.4.1  单选按钮属性和方法  428
18.4.2  单选按钮组件实战
  演练  429
18.5  使用文本框组件  430
18.5.1  文本框的属性和方法  430
18.5.2  文本框组件实战演练  431
18.6  使用文本域组件  432
18.6.1  文本域的属性和方法  432
18.6.2  文本域组件实战演练  432
18.7  使用选择框组件  434
18.7.1  选择框的属性和方法  434
18.7.2  选择框组件实战演练  434
18.8  使用密码框组件  435
18.8.1  密码框的属性和方法  435
18.8.2  密码框组件实战演练  436
18.9  使用组合框组件  437
18.9.1  组合框的属性和方法  437
18.9.2  组合框实战演练  438
18.10  使用列表视图组件  439
18.10.1  列表视图的属性和
方法  439
18.10.2  列表视图组件实战
演练  440
18.11  使用滚动条组件  442
18.11.1  滚动条的属性和
方法  442
18.11.2  滚动条组件实战
演练  442
18.12  使用滑块组件  444
18.12.1  滑块的属性和方法  444
18.12.2  滑块组件实战演连  445
18.13  使用树视图组件  446
18.13.1  树视图的属性和
方法  446
18.13.2  树视图组件实战
演练  447
18.14  使用进度组件  448
18.14.1  进度指示器  448
18.14.2  进度条  448
18.14.3  进度组件实战演练  448
18.15  使用HTML编辑器组件  449
18.15.1  HTML编辑器组件
概述  450
18.15.2  HTML编辑器组件实战
演练  450
18.16  使用菜单组件  451
18.16.1  菜单组件概述  451
18.16.2  创建菜单栏  452
18.17  使用文件选择框组件  453
18.17.1  文件选择框概述  453
18.17.2  文件选择框组件
实战演练  454
18.18  使用颜色选择器组件  456
18.18.1  颜色选择器概述  456
18.18.2  颜色选择器组件
实战演练  458
18.19  技术解惑  459
18.19.1  制作圆形按钮  459
18.19.2  设置按钮的内容  460
18.19.3  树表视图  460
18.20  课后练习  460
第  19章 JavaFX事件处理程序  461
19.1  JavaFX事件处理系统概述  462
19.1.1  Java的事件模型  462
19.1.2  JavaFX中的事件  462
19.1.3  事件处理机制的流程  463
19.1.4  事件处理  465
19.1.5  事件和事件源  465
19.2  使用快捷方法实现事件处理  467
19.2.1  快捷方法概述  467
19.2.2  处理按钮事件  468
19.3  处理鼠标事件  469
19.3.1  鼠标事件概述  469
19.3.2  使用鼠标事件  469
19.4  处理键盘事件  470
19.4.1  键盘事件概述  470
19.4.2  使用键盘事件  471
19.5  使用事件过滤器  472
19.5.1  注册和移除事件
  过滤器  472
19.5.2  使用事件过滤器  473
19.6  使用事件处理程序  475
19.6.1  注册和移除事件
  处理程序  475
19.6.2  使用事件处理程序  476
19.7  使用可触摸设备的事件  477
19.7.1  手势和触摸事件  477
19.7.2  手势事件实战  478
19.8  技术解惑  483
19.8.1  实现鼠标移到按钮上
  按钮变大的效果  483
19.8.2  实现JavaFX绑定  483
19.9  课后练习  483
第  20章 JavaFX框架下的Web开发  484
20.1  JavaFX内嵌浏览器概述  485
20.2  使用WebView组件  486
20.2.1  WebView组件概述  486
20.2.2  WebView组件
  实战演练  487
20.3  使用WebEngine接口  488
20.3.1  WebEngine概述  488
20.3.2  在JavaFX中执行
  JavaScript程序  489
20.3.3  在Web页面中调用
  JavaFX程序  492
20.3.4  实现弹出式窗口  493
20.4  管理Web历史记录  495
20.4.1  WebHistory概述  495
20.4.2  网页浏览历史记录
  实战  495
20.5  使用CSS文件  496
20.6  使用FXML  499
20.6.1  FXML概述  499
20.6.2  FXML实战演练  500
20.7  技术解惑  504
20.7.1  JavaFX集合  504
20.7.2  使用标题面板  505
20.8  课后练习  505
第  21章 JavaFX框架下的多媒体开发  506
21.1  变换操作  507
21.1.1  变换概述  507
21.1.2  变换操作  507
21.2  动画效果  510
21.2.1  过渡动画  510
21.2.2  时间轴动画  512
21.3  视觉特效  514
21.3.1  混合特效  514
21.3.2  发光特效  515
21.3.3  模糊特效  517
21.3.4  阴影特效  519
21.3.5  内阴影特效  520
21.3.6  倒影特效  522
21.3.7  光照特效  523
21.4  3D特效  524
21.4.1  JavaFX 3D概述  524
21.4.2  使用3D形状  524
21.4.3  3D镜头  525
21.4.4  使用子场景  527
21.4.5  使用光照  529
21.4.6  使用材质  530
21.5  音频和视频  532
21.5.1  使用Media获取获得
  媒体源  532
21.5.2  使用MediaPlayer播放并
  控制媒体  532
21.5.3  使用MediaView
  显示视频  533
21.5.4  控制播放的视频演练  533
21.6  CSS API(Java 9新增功能)  535
21.6.1  使用传统方式  535
21.6.2  使用Skin API  536
21.7  技术解惑  538
21.7.1  注册一个事件
  处理程序  538
21.7.2  注意场景背景图的
  问题  539
21.7.3  y-down坐标系和y-up
  坐标系  539
21.8  课后练习  539
第  22章 数据库编程  540
22.1  SQL基础  541
22.1.1  数据定义  541
22.1.2  数据操纵  542
22.2  初识JDBC  544
22.2.1  JDBC API  544
22.2.2  JDBC驱动类型  544
22.2.3  JDBC的常用接口
  和类  545
22.2.4  JDBC编程的一般
  步骤  547
22.3  连接Access数据库  549
22.3.1  Access数据库概述  549
22.3.2  连接本地Access
  数据库  550
22.4  连接SQL Server数据库  552
22.4.1  下载并安装
  SQL Sever 2016驱动  552
22.4.2  测试连接  553
22.4.3  获取SQL Server数据库中
  指定的表  554
22.5  连接MySQL数据库  555
22.5.1  下载并配置MySQL
  驱动  555
22.5.2  将MySQL驱动加载到
  Eclipse中  556
22.5.3  测试连接  557
22.6  技术解惑  557
22.6.1  连接池的功效  557
22.6.2  服务器自带连接池的
  问题  557
22.6.3  连接池模型  559
22.6.4  数据模型、概念模型和
  关系数据模型  559
22.6.5  数据库系统的结构  560
22.7  课后练习  560
第  23章 网络与通信编程  561
23.1  Java中的网络包  562
23.1.1  InetAddress类  562
23.1.2  URLDecoder类和
  URLEncoder类  562
23.1.3  URL类和
  URLConnection类  563
23.1.4  实践演练  564
23.2  TCP编程  567
23.2.1  使用ServerSocket  567
23.2.2  使用Socket  568
23.2.3  TCP中的多线程  569
23.3  UDP编程  572
23.3.1  使用DatagramSocket  572
23.3.2  使用MulticastSocket  574
23.4  代理服务器  577
23.4.1  代理服务器概述  577
23.4.2  使用Proxy创建
  连接  578
23.4.3  使用ProxySelector
  选择代理服务器  579
23.5  HTTP/2 Client API(Java 10的
  改进)  581
23.5.1  孵化器模块usergrid
  概述  581
23.5.2  HTTP/2 Client API
  概述  582
23.5.3  处理HTTP请求  582
23.6  技术解惑  584
23.6.1  使用异常处理完善
  程序  584
23.6.2  使用ServerSocketChannel
  的弊端  584
23.6.3  体会复杂的
  DatagramPacket  585
23.6.4  MulticastSocket类的
  重要意义  585
23.6.5  继承ProxySelector时需
  要做的工作  585
23.6.6  代理服务无止境  585
23.6.7  生成jdk.incubator.httpclient
  模块的Javadoc  586
23.7  课后练习  586
第  24章 多线程和进程  587
24.1  线程概述  588
24.1.1  线程与进程  588
24.1.2  线程的意义  588
24.1.3  Java的线程模型  589
24.2  创建线程  590
24.2.1  使用Thread类创建
  线程  590
24.2.2  使用Runnable接口创建
  线程  592
24.2.3  使用Thread.onSpinWait()
  方法实现循环等待  593
24.3  线程的生命周期  594
24.3.1  线程的运行与停止  594
24.3.2  线程的挂起和唤醒  595
24.3.3  终止线程的3种
  方法  596
24.3.4  线程的阻塞  597
24.3.5  线程的死亡  597
24.4  控制线程  598
24.4.1  使用join方法  599
24.4.2  慎重使用volatile
  关键字  599
24.4.3  后台、让步和睡眠  602
24.5  线程传递数据  603
24.5.1  向线程传递数据的
  方法  603
24.5.2  线程中返回数据的
  方法  605
24.6  进程  606
24.6.1  使用类ProcessBuilder  606
24.6.2  使用类Process  609
24.6.3  使用类ProcessHandle
  (Java 9新增功能)  609
24.7  技术解惑  612
24.7.1  线程和函数的关系  612
24.7.2  在run方法中使用线程名
  时产生的问题  612
24.7.3  继承Thread类或实现
  Runnable接口的比较  612
24.7.4  start()和run()的区别  613
24.7.5  使用sleep()方法的
  注意事项  613
24.7.6  线程的优先级  613
24.7.7  如何确定发生死锁  613
24.7.8  关键字synchronized和
  volatile的区别  614
24.7.9  sleep()方法和yield()
  方法的区别  614
24.7.10  分析Swing的多线程
死锁问题  614
24.8  课后练习  615
第  25章 大数据综合实战:爬取并分析
  知乎用户信息  616
25.1  系统设计  617
25.1.1  系统目标  617
25.1.2  系统功能结构  617

25.2  数据库设计  618
25.3  知乎爬虫请求分析  618
25.4  系统文件夹组织结构  621
25.5  系统详细运行流程图  622
25.6  具体编码  623
25.6.1  核心模块代码的编写  623
25.6.2  知乎抓取功能模块  629
25.6.3  代理功能模块  637
25.7  知乎用户大数据分析  645
25.7.1  数据展示模块  645
25.7.2  运行展示  646
25.8  项目开发难点分析  648

商品参数
基本信息
出版社 人民邮电出版社
ISBN 9787115504104
条码 9787115504104
编者 扶松柏 王洋 陈小玉
译者 --
出版年月 2018-03-01 00:00:00.0
开本 其他
装帧 平装
页数 648
字数 1119
版次 2
印次 1
纸张
商品评论

暂无商品评论信息 [发表商品评论]

商品咨询

暂无商品咨询信息 [发表商品咨询]