《Java基础与案例开发详解》以目前Java的较新版本JavaSE6.0为依托,结合Java语言特性和实战案例,充分融入了企业开发过程中编程人员遇到的种种Java核心技术问题和编程思想,全面系统地介绍了Java语言的基础知识、高级编程技术及应用方向。
书中内容由浅入深、循序渐进,囊括了Java基本语法,数组和常用算法,Java面向对象的编程思想,还包括一些Java高级特性,并且将企业一些比较流行的项目融入《Java基础与案例开发详解》中,如:聊天室程序、网络五子棋、仿QQ的网络聊天软件JQ等,使读者在较短的时间内就能够熟炼掌握Java特性和项目实战的方方面面。《Java基础与案例开发详解》在讲解的过程中,结合Java知识点引用了大量的应用实例,并通过源代码一一列举,且每一部分内容都包含详细的注释和技巧提示,有助于初学者理解、把握问题的精髓,将所掌握的技术灵活应用到后期实际的项目开发过程中。
《Java基础与案例开发详解》既适合初学者和具有一定Java编程经验的用户使用,也适合广大软件开发者和编程爱好者作为参考用书。
目录
- 第1章
- 1.1Java语言发展简史2
- 1.2认识Java语言3
- 1.2.1Java语言特性3
- 1.2.2JavaApplet4
- 1.2.3丰富的类库4
- 1.2.4Java的竞争对手5
- 1.2.5Java在应用领域的优势7
- 1.3Java平台的体系结构7
- 1.3.1JavaSE标准版8
- 1.3.2JavaEE企业版10
- 1.3.3JavaME微型版11
- 1.4JavaSE环境安装和配置12
- 1.4.1什么是JDK12
- 1.4.2JDK安装目录和实用命令工具介绍12
- 1.4.3设置环境变量13
- 1.4.4验证配置的正确性14
- 1.5MyEcilpse工具介绍JavaSE环境安装和配置15
- 1.6本章练习16
- 第2章
- 2.1什么是程序18
- 2.2计算机中的程序18
- 2.3Java程序19
- 2.3.1Java程序中的类型19
- 2.3.2Java程序开发三步曲21
- 2.3.3开发Java第一个程序21
- 2.3.4Java代码中的注释23
- 2.3.5常见错误解析24
- 2.4Java类库组织结构和文档27
- 2.5Java虚拟机简介28
- 2.6Java技术两种核心运行机制29
- 2.7上机练习30
- 第3章
- 3.1变量32
- 3.1.1什么是变量32
- 3.1.2为什么需要变量32
- 3.1.3变量的声明和赋值33
- 3.1.4变量应用实例33
- 3.2数据的分类34
- 3.2.1Java中的八种基本数据类型34
- 3.2.2普及二进制36
- 3.2.3进制间转换37
- 3.2.4基本数据类型间转换38
- 3.2.5数据类型应用实例38
- 3.2.6引用数据类型39
- 3.3关键字.标识符.常量39
- 3.3.1变量命名规范39
- 3.3.2经验之谈-常见错误的分析与处理40
- 3.3.3Java标识符命名规则41
- 3.3.4关键字42
- 3.3.5常量42
- 3.4运算符43
- 3.4.1算术运算符43
- 3.4.2赋值操作符45
- 3.4.3关系操作符47
- 3.4.4逻辑操作符48
- 3.4.5位操作符49
- 3.4.6移位运算符49
- 3.4.7其他操作符50
- 3.5表达式52
- 3.5.1表达式简介52
- 3.5.2表达式的类型和值52
- 3.5.3表达式的运算顺序52
- 3.5.4优先级和结合性问题52
- 3.6选择结构54
- 3.6.1顺序语句54
- 3.6.2选择条件语句54
- 3.6.3switch结构59
- 3.6.4经验之谈-常见错误的分析与处理65
- 3.6.5Switch和多重if结构比较66
- 3.7循环语句66
- 3.7.1While循环67
- 3.7.2经验之谈-常见while错误70
- 3.7.3do-while循环72
- 3.7.4for循环74
- 3.7.5经验之谈-for常见错误76
- 3.7.6循环语句小结78
- 3.7.7break语句79
- 3.7.8continue语句82
- 3.8JavaDebug技术84
- 3.9本章练习85
- 第4章
- 4.1一维数组90
- 4.1.1为什么要使用数组90
- 4.1.2什么是数组91
- 4.1.3如何使用数组92
- 4.1.4经验之谈-数组常见错误97
- 4.2常用算法98
- 4.2.1平均值,*值,最小值98
- 4.2.3数组排序102
- 4.2.3数组复制103
- 4.3多维数组105
- 4.3.1二重循环105
- 4.3.2控制流程进阶107
- 4.3.3二维数组111
- 4.4经典算法113
- 4.4.1算法-冒泡排序113
- 4.4.2插入排序115
- 4.5增强for循环116
- 4.6本章练习117
- 第5章
- 5.1面向过程的设计思想120
- 5.2面向对象的设计思想120
- 5.3抽象121
- 5.3.1对象的理解121
- 5.3.2Java抽象思想的实现122
- 5.4封装124
- 5.4.1对象封装的概念理解124
- 5.4.2类的理解125
- 5.4.3Java类模板创建125
- 5.4.4Java中对象的创建和使用127
- 5.5属性130
- 5.5.1属性的定义130
- 5.5.2变量131
- 5.6方法132
- 5.6.1方法的定义132
- 5.6.2构造方法135
- 5.6.4方法重载138
- 5.6.5自定义方法138
- 5.6.6系统提供方法139
- 5.6.7方法调用140
- 5.6.8方法参数及其传递问题144
- 5.6.9理解main方法语法及命令行参数147
- 5.6.10递归算法147
- 5.7this关键字148
- 5.8JavaBean149
- 5.9包150
- 5.9.1为什么需要包?150
- 5.9.2如何创建包151
- 5.9.3编译并生成包:151
- 5.9.4使用带包的类152
- 5.9.5JDK中常用包介绍152
- 5.10本章练习153
- 第6章
- 6.1继承156
- 6.1.1Java的继承思想实现157
- 6.1.2super关键字158
- 6.2Object类160
- 6.3多态161
- 6.3.1多态概念的理解161
- 6.3.2Java中多态的实现162
- 6.2.3类型检测.向上转型.向下转型164
- 6.2.4动态绑定166
- 6.4访问修饰符167
- 6.5static修饰符168
- 6.5.1静态变量168
- 6.5.2静态方法169
- 6.5.3静态代码块169
- 6.5.4单态模式170
- 6.6final修饰符171
- 6.7abstract修饰符172
- 6.8接口173
- 6.8.1接口的定义及实现174
- 6.8.2接口中的常量174
- 6.8.3接口的多重实现174
- 6.9本章练习175
- 第7章
- 7.1面向对象的分析与设计简介180
- 7.1.1类的设计建议180
- 7.1.2类名.变量名.方法名的选取181
- 7.1.3类的属性设计建议182
- 7.1.4类的方法设计建议182
- 7.1.5继承的设计建议182
- 7.2对象模型建立183
- 7.2.1UML简介183
- 7.2.2用例图184
- 7.2.3类图185
- 7.2.4序列图187
- 7.2.5状态图188
- 7.2.6活动图189
- 7.2.7组件图190
- 7.2.8部署图190
- 7.3类之间的关系191
- 7.4软件的可维护与复用设计原则194
- 7.5本章练习199
- 第8章
- 8.1内部类和内部接口202
- 8.1.1非静态成员内部类203
- 8.1.2局部内部类206
- 8.1.3静态内部类209
- 8.1.4匿名内部类211
- 8.2对象包装器213
- 8.3装箱和拆箱216
- 8.4本章习题218
- 第9章
- 9.1String类220
- 9.1.1字符串常量221
- 9.1.2字符串对象操作224
- 9.1.3字符串对象修改228
- 9.1.4类型转换230
- 9.2StringBuffer类的使用231
- 9.3StringBuilder类的使用233
- 9.4日期类简介234
- 9.5Java语言国际化时间获取与计算238
- 9.6Random类和Math类240
- 9.7本章习题243
- 第10章
- 10.1异常概述246
- 10.2使用try和catch捕获异常..250
- 10.3使用throw和throws引发异常252
- 10.4finally关键字255
- 10.5getMessage和printStackTrace方法258
- 10.6多重catch259
- 10.7自定义异常类260
- 10.8本章习题261
- 第11章
- 11.1Java集合框架概述264
- 11.2Collection接口264
- 11.2Set接口实现类266
- 11.2.1实现类HashSet267
- 11.2.2实现类LinkHashSet270
- 11.2.3实现类TreeSet272
- 11.3List接口实现类277
- 11.3.1实现类ArrayList277
- 11.3.2实现类LinkedList279
- 11.3.3实现类Vector281
- 11.4Map接口283
- 11.4.1实现类HashMap284
- 11.4.2实现类LinkedHashMap285
- 11.4.3实现类TreeMap286
- 11.4.4实现类Properties287
- 11.5Collections类288
- 11.6泛型概述292
- 11.7本章习题300
- 第12章
- 12.1理解线程304
- 12.1.1什么是多线程304
- 12.1.2进程和线程的区别304
- 12.1.3线程的创建和启动305
- 12.1.4Thread类介绍308
- 12.1.5为什么需要多线程309
- 12.1.6线程分类309
- 12.2线程的生命周期309
- 12.2.1线程的状态及转换310
- 12.2.2线程睡眠311
- 12.2.3线程让步313
- 12.2.4线程的加入313
- 12.3线程的调度和优先级314
- 12.4线程的同步315
- 12.4.1线程同步的方法317
- 12.4.2对象锁319
- 12.4.3wait和notify方法320
- 12.4.4死锁322
- 12.5集合类的同步问题323
- 12.5.1使用synchronized同步块324
- 12.5.2使用集合工具类同步化集合类对象324
- 12.5.3使用JDK5.0后提供的并发集合类324
- 12.6用Timer类调度任务325
- 12.7本章练习326
- 第13章
- 13.1java.io.File类328
- 13.1.1文件和目录是什么?328
- 13.1.2Java对文件和目录的操作328
- 13.2JavaIO原理332
- 13.3流类结构333
- 13.3.1InputStream和OutputStream333
- 13.3.2Reader和Writer334
- 13.4文件流336
- 13.4.1FileInputStream和FileOutputStream336
- 13.4.2FileReader和FileWriter338
- 13.5缓冲流340
- 13.6转换流341
- 13.7数据流342
- 13.8打印流344
- 13.9对象流345
- 13.9.1序列化和反序列化操作345
- 13.9.2序列化的版本347
- 13.10随机存取文件流348
- 13.11ZIP文件流350
- 13.12本章练习352
- 第14章
- 14.1抽象窗口工具集(AWT)354
- 14.1.1AWT组件和容器354
- 14.1.2布局管理器359
- 14.2事件处理机制365
- 14.2.1事件监听器366
- 14.2.2事件适配器(EventAdapter)370
- 14.3AWT常用组件372
- 14.3.1界面组件372
- 14.3.2菜单组件377
- 14.3.3其他组件382
- 14.4Swing简介383
- 14.4.1Swing体系图383
- 14.4.2Swing组件应用384
- 14.5声音的播放和处理397
- 14.62D图形的绘制400
- 14.7MyEclipse图形化插件SWTDesigner简介402
- 14.6.1SWTDesigner的下载和安装403
- 14.6.2SWTDesigner开发实例404
- 14.8JBuilder工具软件简介406
- 14.8本章习题409
- 第15章
- 15.1反射概述412
- 15.1.1Java中的反射机制412
- 15.1.2Java反射API412
- 15.1.3Class类413
- 15.2使用Java反射机制414
- 15.2.1获取类型信息414
- 15.2.2创建对象417
- 15.2.3调用方法419
- 15.2.4访问成员变量的值421
- 15.2.5操作数组422
- 15.3反射与动态代理424
- 15.3.1静态代理424
- 15.3.2动态代理426
- 15.4本章练习427
- 第16章
- 16.1注解概述430
- 16.2JDK内置的基本注解类型430
- 16.2.1重写Override430
- 16.2.2警告Deprecated431
- 16.2.3抑制警告SuppressWarnings433
- 16.3自定义注解类型433
- 16.4对注解进行注解435
- 16.4.1目标Target435
- 16.4.2类型Retention436
- 16.4.3文档Documented437
- 16.4.4继承Inherited437
- 16.5利用反射获取注解信息438
- 16.6上机练习440
- 17.1功能描述442
- 17.2总体设计442
- 17.3代码实现442
- 17.4程序的运行与发布457
- 17.5本章练习460
- 第18章
- 18.1JDBC简介462
- 18.2JDBC类和接口462
- 18.2.1DriverManager类464
- 18.2.2Connection接口466
- 18.2.3Statement接口466
- 18.2.3PreparedStatement接口467
- 18.2.4ResultSet接口467
- 18.3JDBC操作SQL469
- 18.4JDBC基本示例473
- 18.5JDBC应用示例479
- 18.6本章习题492
- 第19章
- 19.1网络编程的基本概念494
- 19.1.1网络基础知识494
- 19.1.2网络基本概念495
- 19.1.3网络传输协议496
- 19.2Java网络类和接口497
- 19.3InetAddress类498
- 19.4URL和URLConnection类499
- 19.5Scoket套接字505
- 19.6Datagram套接字509
- 19.7综合示例512
- 19.8本章习题520
- 第20章
- 20.1网络版五子棋522
- 20.1.1需求描述522
- 20.1.2功能分析522
- 20.1.3网络五子棋界面设计523
- 20.1.4网络五子棋运行效果533
- 20.2网络版QQ534
- 20.2.1需求描述535
- 20.2.2功能分析535
- 20.2.3主要功能实现535
- 20.3本章练习565