第1章 Java概述及系统环境搭建 1
1.1 Java概述 1
1.1.1 Java的发展 1
1.1.2 Java的特点 2
1.2 Java开发运行环境 3
1.2.1 Java的运行机制 3
1.2.2搭建JDK开发环境 4
1.2.3编写第一个Java程序 6
1.2.4 Java的命名规范 9
1.3本章重要知识点 9
1.4习题 10
1.4.1填空题 10
1.4.2选择题 10
1.4.3问答题 10
1.4.4程序设计题 10
第2章Java语言基础 11
2.1 Java程序结构 11
2.2 Java程序注释 13
2.3 Java符号集 15
2.3.1 Java符号系统 15
2.3.2标识符 16
2.3.3关键字 17
2.4数据类型 18
2.4.1数据类型的概念 18
2.4.2常量 20
2.4.3变量 22
2.4.4整数类型 24
2.4.5浮点数类型 26
2.4.6字符类型 27
2.4.7布尔类型 28
2.5数据类型转换 30
2.5.1数值类型之间的自动转换 30
2.5.2数值类型之间的强制转换 32
2.5.3字符串与其他类型之间的转换 32
2.6表达式与语句 34
2.6.1算术表达式 34
2.6.2赋值表达式 37
2.6.3关系表达式 38
2.6.4逻辑表达式 41
2.6.5表达式语句 42
2.6.6运算符的优先级 43
2.7本章重要知识点 44
2.8习题 44
2.8.1填空题 44
2.8.2选择题 45
2.8.3简答题 45
2.8.4编程题 45
第3章Java程序流程控制 46
3.1选择结构 46
3.1.1 if语句 46
3.1.2 swith语句 51
3.1.3条件运算符 55
3.2循环结构 57
3.2.1 while语句 57
3.2.2 do…while语句 59
3.2.3 for语句 61
3.2.4循环嵌套 64
3.3 break和continue语句 66
3.3.1 break语句 66
3.3.2 continue语句 67
3.4本章重要知识点 68
3.5习题 68
3.5.1填空题 68
3.5.2选择题 69
3.5.3简答题 69
3.5.4编程题 69
第4章 数组与方法 70
4.1数组 70
4.1.1一维数组 70
4.1.2二维数组及多维数组 75
4.2方法 80
4.2.1方法的定义 81
4.2.2方法的重载 83
4.2.3方法的递归调用 85
4.2.4 System类的几个常用方法 86
4.3本章重要知识点 87
4.4习题 88
4.4.1填空题 88
4.4.2选择题 88
4.4.3简答题 88
4.4.4编程题 89
第5章 面向对象设计(基础篇) 90
5.1软件开发方法 90
5.1.1结构化开发方法 90
5.1.2面向对象开发方法 91
5.2类与对象 94
5.2.1类的定义 94
5.2.2对象的创建及使用 96
5.2.3成员方法与数据成员 100
5.3构造方法 105
5.3.1构造方法的定义 105
5.3.2构造方法初始化数据成员 107
5.3.3构造方法的重载 108
5.4匿名对象 110
5.5封装性 112
5.5.1实现封装性 112
5.5.2 setter和getter方法 115
5.6类的设计案例 117
5.6.1分析数据成员 117
5.6.2分析构造方法和成员方法 118
5.6.3画出类图 119
5.6.4编码实现并测试 120
5.7 this和static关键字 123
5.7.1 this关键字 123
5.7.2 static关键字 132
5.7.3理解main方法 141
5.8单例模式设计 145
5.9对象数组 147
5.10内部类 151
5.10.1内部类的基本定义 151
5.10.2在外部访问内部类 155
5.11 String类和StringBuffer类 156
5.11.1 String类 157
5.11.2 StringBuffer类 166
5.12本章重要知识点 168
5.13习题 169
5.13.1填空题 169
5.13.2选择题 169
5.13.3简答题 170
5.13.4编程题 170
第6章 面向对象设计(高级篇) 171
6.1类的继承 171
6.1.1继承的概念 171
6.1.2创建子类 173
6.1.3方法覆写与属性覆盖 181
6.1.4 super关键字 185
6.2案例实现 187
6.3 final和instanceof关键字 190
6.3.1 final修饰类 190
6.3.2 final修饰成员方法和数据成员 191
6.3.3 instanceof关键字的使用 195
6.4抽象类和接口 196
6.4.1抽象类的定义与应用 196
6.4.2接口的定义与应用 204
6.5对象多态性 214
6.5.1多态性的概念 214
6.5.2向上转型 215
6.5.3向下转型 216
6.5.4对象多态性与非多态性的区别 218
6.6对象多态性的应用 220
6.6.1为抽象类和接口实例化 220
6.6.2设计模式 221
6.6.3工厂设计模式 221
6.6.4适配器设计模式 225
6.7 Object类 227
6.7.1 Object类介绍 227
6.7.2 Object类主要方法的应用 228
6.7.3用Object类接收任意对象 231
6.8匿名内部类 234
6.9本章重要知识点 236
6.10习题 236
6.10.1填空题 236
6.10.2选择题 236
6.10.3简答题 237
6.10.4编程题 237
第7章 异常处理 238
7.1异常的基本概念 238
7.2异常处理机制 241
7.2.1异常处理机制的结构 241
7.2.2异常类的继承关系 241
7.3异常处理方法 243
7.3.1 try…catch…finally语句 243
7.3.2 throws关键字 248
7.3.3 throw关键字 250
7.3.4异常处理综合应用 251
7.4 Exception与RuntimeException类 252
7.4.1 Java异常类结构 252
7.4.2 Exception异常类 254
7.5自定义异常类 256
7.6本章重要知识点 258
7.7习题 258
7.7.1填空题 258
7.7.2选择题 258
7.7.3简答题 258
7.7.4编程题 258
第8章 包及访问控制权限 259
8.1包的概念及使用 259
8.1.1包的概念 259
8.1.2包的定义 259
8.1.3包的引用 261
8.1.4系统常见包 264
8.2访问权限控制 264
8.3 JAR命令的使用 266
8.4本章要点 267
8.5习题 267
8.5.1填空题 267
8.5.2选择题 267
8.5.3简答题 267
第9章 泛型 268
9.1泛型的基本概念 268
9.2使用泛型 270
9.2.1泛型的基本应用 270
9.2.2使用泛型修改“北斗系统” 273
9.2.3泛型中的构造方法 275
9.2.4指定多个泛型 276
9.3通配符 277
9.4泛型接口 278
9.4.1定义泛型接口 278
9.4.2泛型接口的实现方式 279
9.5泛型方法 282
9.5.1定义泛型方法 282
9.5.2使用泛型为方法传入统一的参数类型 283
9.6受限泛型 284
9.6.1泛型上限 284
9.6.2泛型下限 286
9.7本章重要知识点 288
9.8习题 288
9.8.1填空题 288
9.8.2选择题 289
9.8.3简答题 289
第10章 常用实用类 290
10.1包装类 290
10.1.1包装类介绍 290
10.1.2装箱与拆箱 291
10.1.3包装类的应用 294
10.2 Runtime类 296
10.2.1 Runtime类介绍 296
10.2.2 Runtime类的应用 296
10.2.3 Process类的应用 297
10.3 System类 298
10.3.1 System类介绍 298
10.3.2 System类的应用 298
10.3.3垃圾对象的回收 301
10.4日期类 303
10.4.1 Date类 303
10.4.2 Calendar类 304
10.4.3 DateFormat类 306
10.4.4 SimpleDateFormat类 308
10.5 Math类 310
10.6 Random类 311
10.7数字格式化类 313
10.7.1 NumberFormat类 314
10.7.2 DecimalFormat类 315
10.8大数的处理 316
10.8.1 BigInteger类 316
10.8.2 BigDecimal类 318
10.9对象克隆技术 319
10.10 Arrays类 325
10.11比较接口 326
10.11.1 Comparable接口 326
10.11.2 Comparator接口 329
10.12正则表达式 331
10.12.1正则表达式介绍 331
10.12.2 Pattern类和Matcher类 332
10.12.3 String类对正则表达式的支持 337
10.13本章重要知识点 338
10.14习题 339
10.14.1填空题 339
10.14.2选择题 339
10.14.3简答题 340
10.14.4编程题 340
第11章Java的I/O系统 341
11.1 Java I/O概述 341
11.1.1 Java I/O处理模型 341
11.1.2 Java I/O类结构 342
11.2文件操作File类 344
11.2.1 File类的介绍 344
11.2.2利用File类操作文件 345
11.3字节流 351
11.3.1字节流InputStream类和OutputStream类 351
11.3.2 FileInputStream类和FileOutputStream类 352
11.3.3 ByteArrayInputStream类和ByteArray-OutputStream类 360
11.3.4 PrintStream类 362
11.4字符流 365
11.4.1字符流Reader类和Writer类 365
11.4.2 FileReader类和FileWriter类 366
11.4.3 BufferedReader类和BufferedWriter类 370
11.4.4 CharArrayReader类和CharArrayWriter类 374
11.4.5 PrintWriter类 375
11.5字节流与字符流的转换 377
11.5.1如何转换 377
11.5.2 OutputStreamWriter类和InputStream-Reader类 377
11.6随机存取RandomAccessFile类 380
11.6.1随机存取文件介绍 380
11.6.2使用RandomAccessFile写入数据 381
11.6.3使用RandomAccessFile读取数据 383
11.7 Scanner类 385
11.7.1 Scanner类简介 385
11.7.2利用Scanner类接收从键盘输入的数据 385
11.7.3利用Scanner类接收从文件读取的数据 387
11.8 System类对I/O的支持 389
11.8.1 System.out 389
11.8.2 System.in 390
11.8.3 System.err 391
11.8.4 I/O重定向 392
11.9数据操作流 393
11.9.1 DataOutputStream类 394
11.9.2 DataInputStream类 395
11.10对象序列化 397
11.10.1序列化概念及步骤 397
11.10.2使用ObjectOutputStream类序列化对象 398
11.10.3使用ObjectInputStream类反序列化对象 400
11.10.4 Externalizable接口 402
11.10.5 transient关键字 405
11.10.6序列化对象数组 407
11.11本章重要知识点 408
11.12习题 409
11.12.1填空题 409
11.12.2选择题 409
11.12.3简答题 410
11.12.4编程题 410
第12章 Java集合 411
12.1集合的基本概念 411
12.1.1集合的概念 411
12.1.2集合框架结构 412
12.2 Collection接口 413
12.3 Set接口 414
12.3.1 HashSet类 414
12.3.2 TreeSet类 418
12.3.3 SortedSet接口 420
12.4 List接口 422
12.4.1 ArrayList类 422
12.4.2 LinkedList类 425
12.4.3 Queue接口 427
12.4.4 Stack类 428
12.5集合输出 429
12.5.1 Iterator接口 429
12.5.2 ListIterator接口 433
12.6 Map接口 436
12.6.1 Map接口介绍 436
12.6.2 Map.Entry接口介绍 437
12.6.3 HashMap类 438
12.6.4 TreeMap类 445
12.6.5 IdentityHashMap类 447
12.6.6 Map接口的输出 449
12.7属性类Properties 450
12.7.1 Properties类介绍 450
12.7.2 Properties类的操作 451
12.8集合工具类Collections 455
12.9本章重要知识点 459
12.10习题 460
12.10.1填空题 460
12.10.2选择题 460
12.10.3简答题 460
12.10.4编程题 460
第13章 反射机制 461
13.1反射与Class类 461
13.1.1反射的概念 461
13.1.2 Class类的介绍 461
13.1.3 Class类的使用 462
13.2反射的实际应用 467
13.2.1取得父类 470
13.2.2取得实现的所有接口 470
13.2.3取得所有构造方法 471
13.2.4取得所有非构造方法 473
13.2.5取得所有数据成员 475
13.3反射的深入应用 476
13.3.1调用无参数的成员方法 477
13.3.2调用有参数的成员方法 478
13.3.3调用setter和getter方法 478
13.3.4通过反射操作数据成员 481
13.4本章重要知识点 482
13.5习题 483
13.5.1填空题 483
13.5.2选择题 483
13.5.3简答题 483
13.5.4编程题 483
第14章 线程处理 484
14.1 Java多线程实现技术 484
14.1.1进程与线程 484
14.1.2线程的生命周期 485
14.1.3线程的实现方式 486
14.2线程的常用方法 493
14.2.1取得和设置线程名称 494
14.2.2判断线程是否启动 495
14.2.3线程强制运行 496
14.2.4线程的休眠 497
14.2.5中断线程执行 498
14.2.6线程优先级 499
14.2.7线程的礼让 501
14.3同步与死锁 502
14.3.1问题的提出 502
14.3.2使用同步解决问题 504
14.3.3死锁 507
14.4线程操作案例——生产者与消费者 509
14.5本章重要知识点 512
14.6习题 512
14.6.1填空题 512
14.6.2选择题 513
14.6.3简答题 513
14.6.4编程题 513
第15章 图形用户界面 514
15.1图形界面设计概述 514
15.1.1图形界面介绍 514
15.1.2 AWT简介 515
15.1.3 Swing简介 517
15.2 JFrame容器 518
15.3基本组件 522
15.3.1 JLabel 522
15.3.2 JButton 524
15.3.3 JTextField 527
15.4布局管理器 529
15.4.1 FlowLayout 529
15.4.2 BoderLayout 531
15.4.3 GridLayout 532
15.4.4 CardLayout 534
15.4.5绝对定位 536
15.5其他容器 538
15.5.1 JPanel 538
15.5.2 JSplitPane 541
15.5.3 JTabbedPane 543
15.6事件处理模型 545
15.6.1基本概念 545
15.6.2事件响应原理 546
15.6.3窗体事件 547
15.6.4动作事件 550
15.6.5键盘事件 552
15.6.6鼠标事件 555
15.6.7适配器设计 560
15.7其他组件 564
15.7.1单选按钮JRadioButton 564
15.7.2复选框JCheckBox 567
15.7.3下拉列表框JComboBox 569
15.7.4列表框JList 572
15.7.5菜单组件 575
15.8本章重要知识点 579
15.9习题 579
15.9.1填空题 579
15.9.2选择题 580
15.9.3简答题 580
15.9.4编程题 580
第16章Java数据库操作 581
16.1 JDBC简介 581
16.1.1 JDBC概述 581
16.1.2 JDBC编程步骤 583
16.1.3 JDBC主要类和接口介绍 583
16.2 JDBC数据库的加载、连接和关闭 584
16.2.1 MySQL介绍 584
16.2.2加载、连接和关闭数据库 585
16.3数据库操作案例 588
16.3.1数据库操作环境 588
16.3.2插入数据 593
16.3.3修改数据 594
16.3.4删除操作 595
16.3.5查询数据 595
16.4 PreparedStatement接口 597
16.4.1 PreparedStatement接口简介 597
16.4.2数据插入 603
16.4.3删除记录 603
16.4.4更新数据 604
16.4.5查询操作 605
16.5本章重要知识点 606
16.6习题 606
16.6.1填空题 606
16.6.2选择题 606
16.6.3简答题 607
16.6.4编程题 607
第17章 网络编程 608
17.1 URL编程 608
17.1.1 URL类 608
17.1.2 URLConnection类 610
17.2 TCP编程 611
17.2.1 Socket的通信机制 611
17.2.2 InetAddress类 612
17.2.3 ServerSocket类与Socket类 613
17.2.4 TCP编程案例 616
17.3 UDP编程 618
17.3.1 UDP通信机制 618
17.3.2 DatagramPacket类与DatagramSocket类 618
17.4本章重要知识点 621
17.5习题 621
17.5.1填空题 621
17.5.2选择题 621
17.5.3简答题 621
17.5.4编程题 621
附录A常用Eclipse快捷键 622
参考文献 624