第1篇 Java开发基础 2
第1章 Java的前生今世(教学视频:16分钟) 2
1.1 先认识一下Java 2
1.1.1 Java的诞生一个伟大的开始 2
1.1.2 Java能干点什么呢 4
1.1.3 Java语言有何特点 4
1.2 塔建Java开发环境 5
1.2.1 如何下载和安装JDK 6
1.2.2 如何配置JDK 8
1.2.3 面试和笔试宝典 11
1.3 我的第一个Java程序 12
1.3.1 编写一个Java程序Hello World 12
1.3.2 理解Java程序的运行机制 12
1.3.3 面试和笔试宝典 14
1.4 小结 14
第2章 Java语言基础(教学视频:34分钟) 16
2.1 基础语言要素 16
2.1.1 标识符 16
2.1.2 有特别意义的标识符是关键字 17
2.1.3 养成一个好的命名习惯 18
2.1.4 认识分隔符 18
2.1.5 面试和笔试宝典 19
2.2 Java程序代码的注释 19
2.2.1 使用双斜杠的单行注释 20
2.2.2 用于区域的多行注释 20
2.2.3 文档注释 21
2.2.4 使用javadoc生成帮助文档 21
2.2.5 面试和笔试宝典 25
2.3 Java的变量和常量 25
2.3.1 认识变量 25
2.3.2 认识常量 26
2.3.3 面试和笔试宝典 27
2.4 Java的基本数据类型——元数据类型 27
2.4.1 数据类型的分类 28
2.4.2 整数数据类型 29
2.4.3 浮点类型 30
2.4.4 字符类型 30
2.4.5 使用布尔类型判断对错 31
2.4.6 面试和笔试宝典 32
2.5 类型转换 34
2.5.1 自动类型转换 34
2.5.2 强制类型转换 36
2.5.3 面试和笔试宝典 37
2.6 Java的运算符与表达式 37
2.6.1 算术运算符 38
2.6.2 关系运算符 39
2.6.3 逻辑运算符 40
2.6.4 位运算符 42
2.6.5 赋值运算符 44
2.6.6 唯一一个三目运算符 45
2.6.7 表达式及运算符优先级 46
2.6.8 面试和笔试宝典 47
2.7 小结 50
第3章 控制语句(教学视频:28分钟) 51
3.1 流程控制基础 51
3.2 选择控制语句 52
3.2.1 if控制语句 53
3.2.2 if…else语句 54
3.2.3 if…else语句的嵌套 56
3.2.4 if…else if…else语句嵌套 57
3.2.5 switch控制语句 58
3.2.6 面试和笔试宝典 61
3.3 循环控制语句 62
3.3.1 while循环控制语句 63
3.3.2 do…while循环控制语句 64
3.3.3 for循环控制语句 65
3.2.4 循环的嵌套 66
3.2.5 面试和笔试宝典 67
3.4 跳转控制语句 69
3.4.1 break跳转语句 69
3.4.2 continue跳转语句 71
3.4.3 return跳转语句 72
3.4.4 面试和笔试宝典 73
3.5 实例讲解 74
3.6 小结 78
第4章 物以类聚的变量集——数组(教学视频:33分钟) 79
4.1 使用一维数组 79
4.1.1 数组的声明 79
4.1.2 数组的初始化 81
4.1.3 访问数组元素 82
4.1.4 获取数组长度 84
4.1.5 foreach语句 84
4.1.6 面试和笔试宝典 86
4.2 数组示例 86
4.3 使用多维数组 91
4.3.1 二维数组 91
4.3.2 二维数组初始化 92
4.3.3 使用二维数组 93
4.3.4 多维数组 94
4.3.5 面试和笔试宝典 95
4.4 数组的深入使用 97
4.4.1 命令行参数 97
4.4.2 数组操作类:Arrays类 97
4.5 小结 100
第5章 方法和字符串(教学视频:22分钟) 101
5.1 方法的声明及使用 101
5.1.1 方法的定义 102
5.1.2 调用方法 103
5.1.3 方法的重载 104
5.1.4 方法的递归调用 106
5.1.5 形参个数可变的方法 108
5.1.6 面试和笔试宝典 111
5.2 字符串 112
5.2.1 与众不同的初始化方式 112
5.2.2 String不可变的特性 115
5.2.3 String类的常用方法 116
5.2.4 面试和笔试宝典 122
5.3 可变的String类——StringBuffer类 125
5.3.1 创建StringBuffer对象 125
5.3.2 StringBuffer的常用方法 125
5.4 小结 131
第2篇 Java面向对象程序设计 134
第6章 面向对象程序设计(教学视频:35分钟) 134
6.1 面向对象简介 134
6.1.1 面向对象的演绎过程 134
6.1.2 面向对象的特征 135
6.2 类与对象 136
6.2.1 理解类与对象的关系 137
6.2.2 定义类 137
6.2.3 创建和使用对象 138
6.2.4 匿名对象 143
6.2.5 构造函数 144
6.2.6 面试和笔试宝典 146
6.3 static(静态)修饰符 148
6.3.1 static变量——静态变量 149
6.3.2 static方法——静态方法 150
6.3.3 程序的入口main()方法 152
6.3.4 变量的作用域 153
6.3.5 面试和笔试宝典 154
6.4 封装性及访问控制符 156
6.4.1 封装性 156
6.4.2 访问控制符 156
6.4.3 面试和笔试宝典 158
6.5 代码块 158
6.5.1 普通代码块 159
6.5.2 构造块 159
6.5.3 静态代码块 160
6.5.4 面试和笔试宝典 161
6.6 引用传递 162
6.6.1 值传递 162
6.6.2 引用传递 163
6.6.3 面试和笔试宝典 164
6.7 Java中的包(package) 166
6.7.1 使用package定义包 166
6.7.2 使用import导入包 167
6.7.3 系统常见包 170
6.7.4 面试和笔试宝典 171
6.8 小结 172
第7章 Java的继承与多态(教学视频:39分钟) 174
7.1 继承 174
7.1.1 理解继承的基本概念 174
7.1.2 重写父类中的方法 179
7.1.3 当构造方法遇到继承 183
7.1.4 面试和笔试宝典 184
7.2 this关键字和super关键字 186
7.2.1 使用this调用本类中的属性 186
7.2.2 使用this调用构造方法 187
7.2.3 this表示当前的对象 189
7.2.4 super关键字 190
7.2.5 面试和笔试宝典 193
7.3 转型 196
7.3.1 向上转型 196
7.3.2 向下转型 197
7.3.3 面试和笔试宝典 199
7.4 instanceof关键字 200
7.5 封装类 203
7.5.1 封装类的简介 203
7.5.2 装箱与拆箱 204
7.5.3 利用封装类进行数据转换 205
7.5.4 面试和笔试宝典 207
7.6 小结 207
第8章 类的高级使用(教学视频:28分钟) 209
8.1 final关键字的使用 209
8.1.1 final关键字修饰常量 209
8.1.2 不允许被覆盖的方法——最终方法 210
8.1.3 不再有继承的类——最终类 211
8.1.4 面试和笔试宝典 212
8.2 抽象类 214
8.2.1 抽象类与抽象方法 215
8.2.2 面试和笔试宝典 218
8.3 接口 221
8.3.1 接口的概念 222
8.3.2 实现与继承接口 223
8.3.3 接口和抽象类 227
8.3.4 面试和笔试宝典 228
8.4 对象数组 229
8.5 内部类(Inner Class) 231
8.5.1 内部类的定义 232
8.5.2 内部类的使用 233
8.5.3 实例内部类 235
8.5.4 静态内部类 237
8.5.5 局部内部类 238
8.5.6 匿名内部类(Anonymous inner classes) 241
8.5.7 面试和笔试宝典 244
8.6 小结 245
第3篇 Java应用程序设计 248
第9章 异常处理(教学视频:21分钟) 248
9.1 认识异常 248
9.1.1 异常是什么 248
9.1.2 Java异常的类结构 249
9.1.3 面试和笔试宝典 251
9.2 Java的异常处理机制 252
9.2.1 try…catch…finally捕获异常 252
9.2.2 throws声明异常 260
9.2.3 throw抛出异常 263
9.2.4 面试和笔试宝典 265
9.3 自定义异常类 268
9.4 断言 270
9.5 小结 272
第10章 Java的输入/输出(教学视频:34分钟) 273
10.1 数据流的概念和划分 273
10.1.1 数据流的概念 274
10.1.2 数据流的划分 274
10.1.3 面试和笔试宝典 276
10.2 文件类:File类 277
10.2.1 File类简介 277
10.2.2 通过File类对文件进行操作 279
10.2.3 面试和笔试宝典 282
10.3 字节流 283
10.3.1 字节输入流:InputStream类 283
10.3.2 字节输出流:OutputStream类 287
10.3.3 面试和笔试宝典 288
10.4 字符流 290
10.4.1 字符输入流:Reader类 290
10.4.2 字符输出流:Writer类 292
10.4.3 面试和笔试宝典 297
10.5 转换流 298
10.5.1 输入字节流——字符流:InputStreamReader类 298
10.5.2 输出字节流——字符流:OutputStreamWriter类 299
10.6 缓冲流:BufferedReader类 301
10.6.1 BufferedReader类 301
10.6.2 BufferedWriter类 303
10.7 内存操作流 304
10.7.1 内存输入流:ByteArrayInputStream类 304
10.7.2 内存输出流:ByteArrayOutputStream类 305
10.8 打印流:PrintStream类 306
10.9 Scanner类 308
10.9.1 Scanner类简介 308
10.9.2 使用Scanner类输入数据 309
10.10 随机访问文件类:RandomAccessFile类 311
10.11 顺序输入流:SequenceInputStream类 314
10.12 压缩流 316
10.12.1 ZipEntry类 316
10.12.2 ZipOutputStream类 317
10.12.3 ZipInputStream类 319
10.12.4 ZipFile类 321
10.13 对象序列化 324
10.13.1 对象序列化的简介 324
10.13.2 对象输出流:ObjectOutputStream 325
10.13.3 对象输入流:ObjectInputStream 326
10.13.4 Externalizable接口 327
10.14 小结 331
第11章 多线程(教学视频:21分钟) 332
11.1 多线程——执行代码的基本单位 332
11.1.1 多线程的概念 332
11.1.2 面试和笔试宝典 333
11.2 线程的创建 334
11.2.1 通过继承Thread类创建线程 334
11.2.2 通过实现Runnable接口创建线程 336
11.2.3 Java主线程——main() 337
11.2.4 比较继承Thread类和实现Runnable接口 338
11.3 线程状态 341
11.4 线程操作的相关方法 342
11.4.1 获取并设置线程的名称 344
11.4.2 线程的优先级 345
11.4.3 让线程休眠 345
11.4.4 线程的加入 347
11.4.5 线程的唤醒 348
11.4.6 后台线程 349
11.4.7 线程的礼让 350
11.4.8 面试和笔试宝典 351
11.5 线程同步和通信 352
11.5.1 话说同步的必要性 352
11.5.2 实现同步 353
11.5.3 线程间是怎样沟通的 356
11.5.4面试和笔试宝典 359
11.6 小结 359
第12章 Java常用类库(教学视频:35分钟) 361
12.1 Object类 361
12.1.1 Object类的简介 361
12.1.2 Object类的常用方法操作 362
12.1.3 面试和笔试宝典 367
12.2 运行时操作类:Runtime类 367
12.2.1 认识Runtime类 367
12.2.2 得到JVM信息 368
12.2.3 Runtime类与Process类 369
12.2.4 面试和笔试宝典 370
12.3 定时器 371
12.3.1 Timer类 371
12.3.2 TimerTask类 372
12.4 系统类:System类 373
12.4.1 认识system类 373
12.4.2 system类的操作:访问系统属性 374
12.4.3 system类的操作:复制数组 375
12.4.4 system类的操作:计算程序执行时间 376
12.4.5 system类的操作:垃圾对象的回收 376
12.5 日期操作类 377
12.5.1 简单日期操作类:Date类 377
12.5.2 日期抽象类:Calendar类 379
12.5.3 日期格式类:DateFormat类 382
12.5.4 转换日期格式类:SimpleDateFormat类 384
12.5.5 面试和笔试宝典 387
12.6 数学类:Math类 388
12.7 随机数类:Random类 391
12.8 格式化类:NumberFormat类 393
12.9 大数类 396
12.9.1 BigInteger类 396
12.9.2 精确的大数类:BigDecimal类 398
12.10 正则表达式 400
12.10.1 正则表达式简介 400
12.10.2 Pattern类 402
12.10.3 Matcher类 403
12.11 小结 406
第13章 泛型(教学视频:16分钟) 407
13.1 泛型定义 407
13.2 泛型应用 409
13.2.1 泛型的基本应用 409
13.2.2 泛型类的构造方法 412
13.2.3 定义泛型类时声明多个类型 413
13.2.4 泛型的安全警告 413
13.2.5 面试和笔试宝典 414
13.3 通配符 415
13.3.1 无界通配符“?” 416
13.3.2 受限泛型 417
13.3.3 笔试和面试宝典 421
13.4 泛型与子类继承的限制 423
13.4.1 以泛型类为父类 423
13.4.2 以非泛型类为父类 424
13.5 泛型接口 425
13.6 泛型方法 427
13.6.1 定义泛型方法 427
13.6.2 使用泛型方法 428
13.7 小结 429
第14章 Java集合(教学视频:25分钟) 430
14.1 认识集合 430
14.1.1 集合的基本概念 430
14.1.2 Collection接口 431
14.1.3 面试和笔试宝典 432
14.2 List接口 433
14.2.1 认识List接口 433
14.2.2 数组列表类:ArrayList类 433
14.2.3 链表类:LinkedList类 437
14.2.4 面试和笔试宝典 440
14.3 Set接口 442
14.3.1 认识Set接口 442
14.3.2 散列集:HashSet类 442
14.3.3 树集:TreeSet类 445
14.4 集合的输出 449
14.4.1 迭代输出:Iterator接口 449
14.4.2 Java新支持:foreach 451
14.5 Map接口 452
14.5.1 Map映射接口 452
14.5.2 Map.Entry接口简介 453
14.5.3 哈希映射类:HashMap类 453
14.5.4 有序树映射类:TreeMap类 457
14.5.5 面试和笔试宝典 459
14.6 集合工具类:Collections 459
14.6.1 Collections类 459
14.6.2 面试和笔试宝典 462
14.7 其他集合 463
14.7.1 向量类:Vector类 463
14.7.2 栈:Stack类 464
14.7.3 哈希表:Hashtable类 465
14.7.4 面试和笔试宝典 466
14.8 小结 467
第15章 枚举(教学视频:9分钟) 468
15.1 为何要使用枚举 468
15.2 定义枚举类型 470
15.2.1 常见的枚举定义方法 470
15.2.2 在switch语句中使用枚举 471
15.2.3 面试和笔试宝典 472
15.3 枚举类:Enum 472
15.4 类集的枚举操作:EnumMap和EnumSet 476
15.4.1 EnumMap类 476
15.4.2 EnumSet类 477
15.5 枚举类与接口 481
15.6 枚举类与抽象方法 482
15.7 小结 483
第16章 Java反射机制(教学视频:24分钟) 484
16.1 认识Class类 484
16.1.1 Class类与Java反射 484
16.1.2 使用Object类的getClass()方法获取类信息 486
16.1.3 用Class类来加载对象 487
16.1.4 使用类标记 488
16.2 使用反射机制生成并操作对象 488
16.2.1 通过无参构造实例化对象 488
16.2.2 调用有参构造实例化对象 491
16.3 Java反射机制的应用 493
16.3.1 获取实现的全部接口 493
16.3.2 获取父类 494
16.3.3 访问成员变量 495
16.3.4 访问成员方法 498
16.3. 5通过反射操作数组 502
16.4 小结 504
第17章 Java与数据库(教学视频:30分钟) 505
17.1 数据库简介 505
17.1.1 数据库的概念 505
17.1.2 数据库系统的特点 506
17.1.3 数据库的分类 507
17.1.4 面试和笔试宝典 508
17.2 一个精小强悍的数据库——MySQL 508
17.2.1 MySQL简介 508
17.2.2 MySQL的安装和配置 509
17.2.3 MySQL的使用 514
17.3 数据库的基本操作语句 515
17.3.1 SQL语句分类 516
17.3.2 CREATE建表语句 516
17.3.3 INSERT插入语句 518
17.3.4 SELECT查询语句 519
17.3.5 DELETE删除语句 520
17.3.6 UPDATE更新语句 521
17.3.7 ALTER修改表语句 522
17.3.8 DROP删除表语句 523
17.3.9 MySQL中的数据类型 523
17.3.10 面试和笔试宝典 525
17.4 JDBC简介 526
17.4.1 认识JDBC 526
17.4.2 JDBC常见接口和类 528
17.5 连接数据库 533
17.5.1 配置MySQL数据库的驱动程序 534
17.5.2 JDBC连接数据库步骤 534
17.5.3 测试连接MySQL数据库 535
17.5.4 面试和笔试宝典 536
17.6 Java对数据库的更新操作 537
17.6.1 执行数据库插入操作 537
17.6.2 修改数据 540
17.6.3 执行数据库删除操作 541
17.7 接收操作数据库结果 542
17.7.1 查询数据 542
17.7.2 面试和笔试宝典 544
17.8 预处理操作:PreparedStatement接口 545
17.8.1 PreparedStatement接口简介 545
17.8.2 使用PreparedStatement对数据库进行操作 546
17.9 事务处理 548
17.9.1 事务简介和MySQL对事务的支持 548
17.9.2 执行事务处理 549
17.9.3 面试和笔试宝典 551
17.10 小结 552
第18章 Java网络编程(教学视频:21分钟) 553
18.1 网络编程的基础知识 553
18.1.1 TCP/IP协议——常用的传输协议 553
18.1.2 IP地址——计算机的标识 554
18.1.3 端口——通信的窗口 555
18.1.4 套接字——应用程序与端口的桥梁 556
18.1.5 URL——Internet资源的门牌号 556
18.1.6 面试和笔试宝典 557
18.2 Inetaddress类 559
18.2.1 获取本机的IP信息 560
18.2.2 根据域名获取IP 560
18.3 URL类和URLConnection类 561
18.3.1 URL类 561
18.3.2 URLConnection类 563
18.4 TCP程序设计 565
18.4.1 ServerSocket类 565
18.4.2 Socket类 566
18.4.3 Socket通信过程:一对一的TCP程序 568
18.4.4 Socket通信过程:一对多的TCP程序 570
18.4.5 面试和笔试宝典 571
18.5 UDP程序设计 573
18.5.1 UDP简介 573
18.5.2 DatagramPacket类 573
18.5.3 DatagramSocket类 574
18.5.4 UDP程序实现 575
18.6 小结 577
第4篇 Java开发实践 580
第19章 Java图形界面(教学视频:41分钟) 580
19.1 Swing概述 580
19.1.1 认识Swing 580
19.1.2 Swing与AWT的对比 582
19.2 基本容器:JFrame 583
19.3 标签组件:JLabel 585
19.4 按钮组件:JButton 589
19.5 面板组件:JPanel 590
19.6 滚动面板:JScrollPane 592
19.7 布局管理器 593
19.7.1 流式布局管理器:FlowLayout 593
19.7.2 边界布局管理器:BorderLayout 595
19.7.3 网格布局管理器:GridLayout 596
19.7.4 网格包布局管理器:GridBagLayout 598
19.7.5 卡片布局管理器:CardLayout 600
19.7.6 绝对定位 601
19.7.7 面试和笔试宝典 602
19.8 事件处理 603
19.8.1 事件处理的基本概念 603
19.8.2 窗体事件 604
19.8.3 键盘事件 607
19.8.4 鼠标事件 608
19.8.5 行为事件 610
19.8.6 面试和笔试宝典 611
19.9 文本组件 612
19.9.1 单行文本组件:JTextField 612
19.9.2 密码框组件:JPasswordField 612
19.10 小结 617
第20章 Eclipse开发工具(教学视频:11分钟) 620
20.1 Eclipse简介 620
20.2 安装Eclipse 621
20.3 Eclipse工作台 622
20.3.1 认识Eclipse工作台 622
20.3.2 认识Eclipse菜单栏 623
20.4 Eclipse开发程序 627
20.4.1 如何创建Java项目 627
20.4.2 如何创建Java类 627
20.4.3 如何导入项目实现包 628
20.4.4 如何运行Java程序 629
20.5 Eclipse程序调试 629
20.6 小结 631
第21章 Java项目开发案例——学生管理系统(教学视频:29分钟) 632
21.1 系统概述 632
21.1.1 开发背景 632
21.1.2 需求分析 632
21.1.3 数据库设计 633
21.2 系统演示 634
21.2.1 程序预览 634
21.2.2 创建Java项目 636
21.2.3 添加MySQL数据库驱动 636
21.2.4 数据库设置 637
21.3 登录模块实现 637
21.3.1 登录界面类 637
21.3.2 登录检测类 640
21.4 学生查看模块 641
21.4.1 学生查看信息界面设计 641
21.4.2 查看信息功能的实现 643
21.5 教师相关模块 645
21.5.1 教师管理界面 645
21.5.2 添加学生界面 646
21.5.3 添加学生功能实现 649
21.5.4 删除学生界面 651
21.5.5 删除学生功能 653
21.5.6 查询指定学生界面 653
21.5.7 查询全部学生界面 655
21.5.8 查询全部学生功能 658
21.5.9 获取学生成绩 659
21.6 小结 661