第1章 了解Java............................................ 1 1.1 什么是Java............................................................. 2 1.2 Java的特性............................................................. 4 1.2.1 语言特性...................................................... 4 1.2.2 应用平台...................................................... 7 1.2.3 活跃的论坛与丰富 1.3 如何学习Java...................................................... 9 1.4 接下来的主题.................................................. 10 1.5 网络资源................................................................ 11 第2章 入门准备........................................... 13 2.1 下载、安装和了解JDK...................... 14 2.1.1 下载JDK................................................. 14 2.1.2 安装JDK................................................. 16 2.1.3 了解JDK................................................. 17 2.2 设置Path与Classpath........................... 19 2.2.1 设置Path.................................................. 19 2.2.2 设置Classpath..................................... 21 2.3 第一个Java程序.......................................... 22 2.3.1 编写和编译Java程序................... 22 2.3.2 执行Java程序..................................... 24 2.4 选择开发工具.................................................. 25 2.5 接下来的主题.................................................. 27 2.6 网络资源................................................................ 27 第3章 语法入门........................................... 29 3.1 第一个Java程序.......................................... 30 3.1.1 解释第一个Java程序................... 30 3.1.2 给C使用者的第一个 3.1.3 为程序加入注释................................ 34 3.2 在命令行模式下与程序互动........ 35 3.2.1 使用Scanner取得输入................. 35 3.2.2 使用BufferedReader 3.2.3 标准输入/输出串............................... 39 3.2.4 输出格式控制...................................... 40 3.3 数据和运算......................................................... 43 3.3.1 数据类型.................................................. 43 3.3.2 变量和常量............................................ 45 3.3.3 算术运算.................................................. 47 3.3.4 比较和条件运算................................ 49 3.3.5 逻辑和位运算...................................... 52 3.3.6 递增和递减运算................................ 57 3.4 流程控制................................................................ 60 3.4.1 if条件式................................................... 60 3.4.2 switch条件式....................................... 64 3.4.3 for循环...................................................... 66 3.4.4 while循环................................................ 68 3.4.5 break和continue................................ 71 3.5 接下来的主题.................................................. 72 3.6 网络资源................................................................ 73 第4章 从autoboxing和unboxing 4.1 关于对象................................................................ 76 4.1.1 使用对象.................................................. 76 4.1.2 打包(Wrap)基本数据类型......... 79 4.2 自动装箱和拆箱........................................... 81 4.2.1 autoboxing和unboxing.................. 81 4.2.2 小心使用boxing................................. 83 4.3 接下来的主题.................................................. 85 4.4 网络资源................................................................ 85 第5章 数组.................................................... 87 5.1 一维数组和二维数组............................. 88 5.1.1 一维数组对象...................................... 88 5.1.2 二维数组对象...................................... 92 5.2 高级数组概念.................................................. 95 5.2.1 高级的数组操作................................ 96 5.2.2 Arrays类.................................................. 99 5.2.3 foreach与数组.................................. 102 5.3 接下来的主题............................................... 103 5.4 网络资源............................................................. 104 第6章 字符串............................................. 105 6.1 认识字符串...................................................... 106 6.1.1 String类................................................. 106 6.1.2 不可变(Immutable)字符串..... 110 6.1.3 StringBuilder类................................ 114 6.2 字符串高级运用........................................ 116 6.2.1 命令行变量......................................... 116 6.2.2 分离字符串......................................... 118 6.2.3 使用正则表示式 6.2.4 Pattern和Matcher........................ 123 6.3 接下来的主题............................................... 125 6.4 网络资源............................................................. 125 第7章 封装................................................. 127 7.1 定义类.................................................................... 128 7.1.1 以对象思考问题............................. 128 7.1.2 使用class定义类.......................... 130 7.1.3 类成员(Class Member).............. 134 7.1.4 构造函数(Constructor).............. 137 7.1.5 关于this................................................ 140 7.1.6 关于static............................................ 142 7.2 关于方法............................................................. 145 7.2.1 重载(Overload)方法..................... 145 7.2.2 不定长度参数................................... 147 7.2.3 递归方法............................................... 149 7.2.4 垃圾收集............................................... 150 7.3 接下来的主题............................................... 153 7.4 网络资源............................................................. 153 第8章 继承和多态................................... 155 8.1 继承........................................................................... 156 8.1.1 扩展(Extends)父类........................ 156 8.1.2 受保护的(Protected)成员........ 158 8.1.3 重写(Override)方法...................... 160 8.1.4 Object类............................................... 163 8.1.5 toString()、equals()和 8.1.6 clone()方法.......................................... 168 8.1.7 final关键词......................................... 171 8.2 多态........................................................................... 172 8.2.1 多态导论............................................... 172 8.2.2 抽象类(Abstract Class)............. 174 8.2.3 抽象类应用......................................... 176 8.2.4 接口(Interface).................................. 179 8.3 接下来的主题............................................... 183 8.4 网络资源............................................................. 183 第9章 管理类文件................................... 185 9.1 内嵌类.................................................................... 186 9.1.1 成员内嵌类和区域内嵌类..... 186 9.1.2 匿名内嵌类......................................... 188 9.2 package与import..................................... 190 9.2.1 设定包(Package).............................. 190 9.2.2 import的意义................................... 192 9.2.3 public与包.......................................... 195 9.2.4 import静态成员............................. 196 9.3 接下来的主题............................................... 198 9.4 网络资源............................................................. 199 第10章 异常处理..................................... 201 10.1 异常处理入门........................................... 202 10.2 可控式异常(Checked 10.3 throw和throws...................................... 205 10.4 异常的继承架构.................................... 209 10.5 接下来的主题........................................... 212 10.6 网络资源......................................................... 212 第11章 枚举类型..................................... 215 11.1 常数设置与枚举类型...................... 216 11.1.1 常数设置........................................ 216 11.1.2 枚举类型入门............................ 217 11.2 定义枚举类型........................................... 220 11.2.1 深入枚举类型............................ 221 11.2.2 枚举上的方法............................ 223 11.2.3 因值而异的类实现(Value- Specific Class Bodies) 225 11.3 接下来的主题........................................... 227 11.4 网络资源......................................................... 228 第12章 泛型............................................... 229 12.1 泛型入门......................................................... 230 12.1.1 没有泛型之前............................ 230 12.1.2 定义泛型类.................................. 232 12.1.3 几个定义泛型的例子.......... 234 12.2 泛型高级语法........................................... 236 12.2.1 限制泛型可用类型................ 237 12.2.2 类型通配字符(Wildcard)... 239 12.2.3 扩充泛型类和实现 12.3 接下来的主题........................................... 243 12.4 网络资源......................................................... 243 第13章 对象容器..................................... 245 13.1 Collection类................................................. 246 13.1.1 简介List接口............................ 246 13.1.2 ArrayList........................................ 248 13.1.3 LinkedList...................................... 251 13.1.4 HashSet............................................ 256 13.1.5 TreeSet.............................................. 258 13.1.6 EnumSet........................................... 260 13.2 Map类................................................................ 263 13.2.1 HashMap........................................ 263 13.2.2 TreeMap......................................... 266 13.3 接下来的主题........................................... 269 13.4 网络资源......................................................... 269 第14章 输入/输出.................................... 271 14.1 文件....................................................................... 272 14.1.1 File类................................................ 272 14.1.2 RandomAccessFile类........... 274 14.2 位流....................................................................... 278 14.2.1 InputStream和 14.2.2 FileInputStream和 14.2.3 BufferedInputStream和 14.2.4 DataInputStream和 14.2.5 ObjectInputStream和 14.2.6 SequenceInputStream............ 294 14.2.7 PrintStream.................................... 297 14.2.8 ByteArrayInputStream和 14.2.9 PushbackInputStream........... 301 14.3 字符流................................................................ 303 14.3.1 Reader和Writer....................... 304 14.3.2 InputStreamReader和OutputStreamWriter 305 14.3.3 FileReader和FileWriter..... 307 14.3.4 BufferedReader和BufferedWriter 308 14.3.5 PrintWriter..................................... 310 14.3.6 CharArrayReader和CharArrayWriter 312 14.3.7 PushbackReader......................... 314 14.4 接下来的主题........................................... 316 14.5 网络资源......................................................... 317 第15章 线程............................................... 319 15.1 线程入门......................................................... 320 15.1.1 继承Thread.................................. 320 15.1.2 实现 Runnable接口............. 322 15.1.3 Daemon 线程............................. 325 15.1.4 线程生命周期............................ 326 15.1.5 线程的加入(Join).................... 329 15.1.6 线程的停止.................................. 331 15.1.7 ThreadGroup............................... 333 15.1.8 UncaughtExceptionHandler 335 15.2 同步化(Synchronized)主题....... 336 15.2.1 同步化.............................................. 336 15.2.2 wait()和notify()....................... 341 15.2.3 容器类的线程安全(Thread-Safe) 346 15.2.4 ThreadLocal类........................... 347 15.3 接下来的主题........................................... 351 15.4 网络资源......................................................... 352 第16章 反射............................................... 353 16.1 类加载与查看........................................... 354 16.1.1 简介Class与类加载............ 354 16.1.2 使用Class.forName() 16.1.3 从Class中获取信息............ 360 16.1.4 简介类加载器............................ 363 16.1.5 使用自己的ClassLoader... 368 16.2 使用反射生成与操作对象........ 372 16.2.1 生成对象........................................ 372 16.2.2 调用方法........................................ 375 16.2.3 修改成员值.................................. 380 16.2.4 再看数组对象............................ 382 16.2.5 Proxy类.......................................... 385 16.3 接下来的主题........................................... 388 16.4 网络资源......................................................... 388 第17章 Annotation................................. 389 17.1 Annotation概述....................................... 390 17.1.1 限定Override父类方法 @Override 390 17.1.2 标示方法为Deprecated @Deprecated 391 17.1.3 抑制编译器警告 @SuppressWarnings 393 17.1.4 自定义Annotation类型.... 394 17.2 meta-annotation........................................ 397 17.2.1 告知编译器如何处理annotation @Retention 397 17.2.2 限定annotation 使用 17.2.3 要求为API文件的 17.2.4 子类是否继承父类的annotation @Inherited 403 17.3 接下来的主题........................................... 404 17.4 网络资源......................................................... 404
第18章 拾遗补缺..................................... 405 18.1 日期和时间.................................................. 406 18.1.1 使用 Date...................................... 406 18.1.2 使用 Calendar............................ 410 18.2 日志(Logging)........................................... 414 18.2.1 简介Logging................................ 414 18.2.2 Logging 的等级......................... 416 18.2.3 Handler和Formatter............ 419 18.2.4 自定义 Formatter................... 421 18.2.5 Logger层次关系....................... 423 18.3 信息绑定......................................................... 424 18.3.1 使用ResourceBundle............ 424 18.3.2 格式化信息.................................. 426 18.3.3 国际化信息.................................. 428 18.4 接下来的主题........................................... 430 第19章 专题制作—— 文字编辑器..... 431 19.1 产品生命周期........................................... 432 19.1.1 分析(Analysis)........................... 432 19.1.2 设计(Design)................................ 435 19.1.3 开发(Development)................ 435 19.1.4 测试(Testing).............................. 435 19.1.5 完成(Implementation).......... 435 19.1.6 维护(Maintenance)................. 436 19.1.7 结束生命周期 19.2 Swing入门.................................................... 436 19.2.1 Swing简介.................................... 436 19.2.2 设计主窗口与菜单栏.......... 438 19.2.3 版面管理........................................ 443 19.3 事件处理......................................................... 447 19.3.1 Java事件模型............................ 448 19.3.2 文字编辑器的事件处理.... 448 19.4 文字编辑与保存.................................... 455 19.4.1 打开文件的流程处理.......... 455 19.4.2 保存文件的流程处理.......... 458 19.4.3 关闭文件的流程处理.......... 459 19.4.4 文字区的编辑、剪切、 19.5 接下来的主题........................................... 461 附录A Ant简介.......................................... 463 A.1 Ant设置.............................................................. 464 A.2 第一个Ant构建........................................ 465 A.3 任务(Target).................................................. 468 A.4 属性(Property)............................................ 470 A.5 路径(Path)........................................................ 471 A.6 常用任务(Task)......................................... 472 A.7 一个简单的buildfile............................. 475
附录B JUnit简介....................................... 477 B.1 单元测试(Unit Test)............................. 478 B.2 JUnit设置.......................................................... 480 B.3 第一个JUnit测试.................................... 480 B.4 自动构建与测试....................................... 483 B.5 自动生成测试报告................................ 484 |
|